{
  "openapi" : "3.0.1",
  "info" : {
    "contact" : {
      "name" : "SoftVision Development GmbH, Fulda, Germany (support@softvision.de)"
    },
    "description" : "This is the REST API description for the webPDF server.\n\nYou can find out more about webPDF at [https://www.webpdf.de](https://www.webpdf.de)\n\n### API authorization\nThe WebPDF API web service endpoints are protected and require authorization for access. The authorization is in the form of an authorization token called an \"access token\".\n\nSuch a token authorizes the use of the API and can be issued in two ways:\n\n1) the built-in authentication process using `POST /authentication/user/login`, which authenticates a user with credentials and issues an access token, or\n2) via an external OAuth2 provider that issues an OAuth token (a JWT based \"access token\") that can be validated by the server during the API call.\n\nThe server (or API) can use both paths in parallel, or individual ones can be turned on or off.\n\nThe integrated (local) authorization is available without configuration, while the use of OAuth2 tokens must first be configured in the server.\n\n### User authentication\nTo use local authorization, a user must be authenticated against a user source. Such a user source can be, for example, the integrated user database or an LDAP/AD server.\n\nTo authenticate use the `POST /authentication/user/login` call below in the **Authentication** group with a username and password. This will return a JSON response with access token as property `token`.\n\nIt is also possible to authenticate as an anonymous user by calling `POST /authentication/user/login` without user credentials. _Note:_ This feature can be disabled via the configuration for the local authorization provider.\n\n### Access token (endpoint authorization)\nAll API calls (web service endpoints) require an access token for authorization. The access token is passed to the endpoint in the `Authorization` header as `Bearer: [access token]`.\n\nThe access token can be the token provided via the local authorization provider (via `POST /authentication/user/login`) or an OAuth2 JWT (JSON Web Token) provided by an external authorization provider.\n\nOmitting this header or supplying an invalid token results in an error `401 Unauthorized`.\n\n### Refresh token (session renew)\nWhen the local authorization provider issues an access token, a second token, called a refresh token, is also issued. This token is referenced as `refreshToken` in the JSON response when `POST /authentication/user/login` is used.\n\nThis token allows a new access token to be issued before the token and the associated session (see **Session** below) expires. With `POST /authentication/user/refresh` the refresh token can be 'exchanged' for a new access token and a new refresh token. This prevents the access token from expiring and terminating an active session.\n\n### Session\nThe REST API of this server is a stateful session based API.\n\nWhenever an access token is issued by the local authorization provider is issued or an externally issued OAuth2 token is used with the API, a new session is created for the token.\n\nThis session retains all documents (see **Document storage** below) and user settings until the session expires or an explicit logout (`GET /authentication/user/logout`) is invoked.\n\n### Document storage\nA document is uploaded to the server with `POST /documents` and is stored in the **document storage** of the server. The document storage is always assigned to a session (see \"**Session**\" above).\n\nA unique ID `documentID` will be created for the uploaded file as reference. As the result of the upload the `DocumentFile` is fetched via `303 See Other` from `GET /documents/{documentId}/info`. The document\ninformation `DocumentFile` contains the document ID in the field `documentId`. Most API calls in `/documents/...` and most call which work on documents (e.g. `/converter/{documentId}` or `/pdfa/{documentId}` ) require the ID to reference\na document. The `documentID` can also be fetched from the list returned by `GET /documents/list`.\n\n### Experimental Web services\nWeb services marked with experimental are subject to change at any time and without notice! These web services usually provide new features that are not yet finally implemented.\n\n### Try it out (Swagger UI only)\nYou can call the web service API online via the documentation by pressing the **'Try it out'** button for each call. For this you need an authorization in the form of an access token.\n\nTo obtain an access token, use `POST /authentication/user/login`, click on the \"lock\" icon, enter the user credentials and select \"**Authorize**\". Execute the login via the \"**'Try it out'**\" button and then via the \"**'Execute'**\" button. \n\nClick the **'Authorize'** button below and enter the access token at `BearerAuth` and click **'Authorize'**.\n\nAlternatively, you can enter the access token using the \"lock\" icon above each individual call.\n",
    "license" : {
      "name" : "SoftVision Software License Agreement",
      "url" : "https://www.webpdf.de/en/license-agreement.html"
    },
    "title" : "webPDF",
    "version" : "webPDF 10.0.5 (2026-05-03T11:16:54Z)"
  },
  "servers" : [ {
    "url" : "/webPDF/rest"
  } ],
  "tags" : [ {
    "description" : "Operations for user authentication",
    "name" : "authentication"
  }, {
    "description" : "Operations for the document storage",
    "name" : "documents"
  }, {
    "description" : "Operations for server administration and configuration",
    "name" : "administration"
  }, {
    "description" : "Operations for Web service `converter`",
    "name" : "converter"
  }, {
    "description" : "Operations for Web service `pdfa`",
    "name" : "pdfa"
  }, {
    "description" : "Operations for Web service `ocr`",
    "name" : "ocr"
  }, {
    "description" : "Operations for Web service `signature`",
    "name" : "signature"
  }, {
    "description" : "Operations for Web service `toolbox`",
    "name" : "toolbox"
  }, {
    "description" : "Operations for Web service `urlconverter`",
    "name" : "urlconverter"
  }, {
    "description" : "Operations for Web service `barcode`",
    "name" : "barcode"
  }, {
    "description" : "**Important:** Web services in this area are intended for usage of the portal application only and may change at any time without notice!",
    "name" : "portal"
  }, {
    "description" : "**Important:** Web services in this area are currently experimental and may change at any time without notice!",
    "name" : "experimental"
  } ],
  "paths" : {
    "/" : {
      "get" : {
        "description" : "Returns metrics in Prometheus text exposition format",
        "operationId" : "getMetrics",
        "responses" : {
          "200" : {
            "content" : {
              "text/plain; version=0.0.4" : { }
            },
            "description" : "Prometheus metrics in text format"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Get Prometheus metrics",
        "tags" : [ "administration" ]
      }
    },
    "/admin/cluster/status" : {
      "get" : {
        "description" : "Returns the the status information about the cluster and all members in the cluster.",
        "operationId" : "readClusterStatus",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Cluster_Status"
                }
              }
            },
            "description" : "Current cluster status information."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns the cluster status information",
        "tags" : [ "administration" ]
      }
    },
    "/admin/configuration" : {
      "post" : {
        "description" : "Updates andDefines an extended result object for administrative configuration operations when the configuration is updated./or validates the server, application, user or log configuration.The updated configuration is passed in the body of the request.",
        "operationId" : "updateConfiguration",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Admin_Configuration"
              }
            }
          },
          "description" : "Administration configuration",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Admin_ConfigurationResult"
                }
              }
            },
            "description" : "Returns the updated server configuration data."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Updates the server configuration",
        "tags" : [ "administration" ]
      }
    },
    "/admin/configuration/{type}" : {
      "get" : {
        "description" : "Gets the server, application, user or log configuration of the server. The requested configuration is selected via `{type}.",
        "operationId" : "readConfiguration",
        "parameters" : [ {
          "description" : "The type of configuration to return.",
          "in" : "path",
          "name" : "type",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Admin_ConfigurationType"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Admin_Configuration"
                }
              }
            },
            "description" : "Returns the selected configuration data."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Gets the server configuration",
        "tags" : [ "administration" ]
      }
    },
    "/admin/datastore" : {
      "post" : {
        "description" : "Updates a file in the server's data store. The file, the  file group and the settings to be updated are passed in the request body of the call.",
        "operationId" : "updateDataStoreFile",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Admin_FileDataStore"
              }
            }
          },
          "description" : "Specifies the file type and settings that should be updated for the file.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Admin_FileDataStore"
                }
              }
            },
            "description" : "Updated settings of the data storage file."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Updates a file in the datastore",
        "tags" : [ "administration" ]
      }
    },
    "/admin/datastore/{group}" : {
      "delete" : {
        "description" : "Deletes a file, depending on the selected `{group}`, from the server's data store. The file to delete, if `{group} = generic`, is referenced by the query parameter `name`.",
        "operationId" : "deleteDataStoreFile",
        "parameters" : [ {
          "description" : "The group of datastore files to search for the file.",
          "in" : "path",
          "name" : "group",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Admin_FileGroupDataStore"
          }
        }, {
          "description" : "The name of the datastore file to delete.",
          "in" : "query",
          "name" : "name",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The file has been deleted from the data store successfully."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Deletes a file from the datastore",
        "tags" : [ "administration" ]
      },
      "get" : {
        "description" : "Retrieves a file, depending on the selected `{group}`, from the server's data store. The file name for `{group} = generic` is referenced by the query parameter `name`.",
        "operationId" : "readDataStoreFile",
        "parameters" : [ {
          "description" : "The group of datastore files to search for the file.",
          "in" : "path",
          "name" : "group",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Admin_FileGroupDataStore"
          }
        }, {
          "description" : "The name of the datastore file to find.",
          "in" : "query",
          "name" : "name",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Admin_FileDataStore"
                }
              }
            },
            "description" : "The datastore file has been found and returned."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Gets a file from the datastore",
        "tags" : [ "administration" ]
      }
    },
    "/admin/dlq/failed" : {
      "delete" : {
        "description" : "Purges FAILED_PERMANENT entries older than provided threshold.",
        "operationId" : "purgeFailedDlqEntries",
        "parameters" : [ {
          "in" : "query",
          "name" : "olderThanMillis",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 86400000
          }
        }, {
          "in" : "query",
          "name" : "archiveBeforeDelete",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DLQ_CleanUpResponse"
                }
              }
            },
            "description" : "Entries purged."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Purges old failed permanent DLQ entries",
        "tags" : [ "administration" ]
      },
      "get" : {
        "description" : "Returns replay entries currently marked as FAILED_PERMANENT.",
        "operationId" : "listFailedDlqEntries",
        "parameters" : [ {
          "description" : "Maximum number of entries to return.",
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Failed DLQ entries."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Lists failed permanent DLQ entries",
        "tags" : [ "administration" ]
      }
    },
    "/admin/dlq/failed/{id}" : {
      "delete" : {
        "description" : "Deletes one FAILED_PERMANENT entry from replay store.",
        "operationId" : "deleteFailedDlqEntry",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Entry deleted."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Deletes one failed permanent DLQ entry",
        "tags" : [ "administration" ]
      }
    },
    "/admin/dlq/failed/{id}/requeue" : {
      "post" : {
        "description" : "Moves one FAILED_PERMANENT entry back to PENDING for replay.",
        "operationId" : "requeueFailedDlqEntry",
        "parameters" : [ {
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "reason",
          "schema" : {
            "type" : "string",
            "default" : "manual admin requeue"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Entry requeued."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Requeues a failed permanent DLQ entry",
        "tags" : [ "administration" ]
      }
    },
    "/admin/server/log" : {
      "get" : {
        "description" : "Returns the contents of the current log or a specific log file of the server. If the `date` query parameter is specified, an explicitly selected log will be read.",
        "operationId" : "streamLog",
        "parameters" : [ {
          "description" : "Sets a specific byte range to extract from the server log.",
          "example" : "0-1024",
          "in" : "header",
          "name" : "Range",
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Sets a specific date (yyyy-MM-dd) to extract from the server log.",
          "example" : "2019-12-01",
          "in" : "query",
          "name" : "date",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "text/plain; charset=UTF-8" : {
                "schema" : {
                  "type" : "string",
                  "format" : "byte"
                }
              }
            },
            "description" : "Returns contents of log files/a specific log file of the server."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns the contents of a log file",
        "tags" : [ "administration" ]
      },
      "head" : {
        "description" : "Returns the byte size of the current log or a specific log file of the server. If the `date` query parameter is specified, an explicitly selected log will be read.",
        "operationId" : "headLog",
        "parameters" : [ {
          "description" : "The date (yyyy-MM-dd) of a specific searched log.",
          "example" : "2019-12-01",
          "in" : "query",
          "name" : "date",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Returns the byte size of the selected log file of the server."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns the byte size of a log file",
        "tags" : [ "administration" ]
      }
    },
    "/admin/server/restart" : {
      "get" : {
        "description" : "Restarts the server. ",
        "operationId" : "restartServer",
        "responses" : {
          "200" : {
            "description" : "The request to restart the server has been accepted."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Restarts the server",
        "tags" : [ "administration" ]
      }
    },
    "/admin/server/status" : {
      "get" : {
        "description" : "Provides status information about the server, the JVM and the Web services.",
        "operationId" : "readServerStatus",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Admin_ServerStatus"
                }
              }
            },
            "description" : "Requesting the server status has been successful."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Provides status information about the server",
        "tags" : [ "administration" ]
      }
    },
    "/admin/server/support" : {
      "get" : {
        "description" : "Collects a set of support information, that may simplify finding the cause and solution of issues.",
        "operationId" : "readSupportInformation",
        "parameters" : [ {
          "description" : "List of components to be included in the support information.",
          "example" : [ "logs", "config" ],
          "in" : "query",
          "name" : "group",
          "schema" : {
            "type" : "array",
            "default" : [ "logs" ],
            "items" : {
              "$ref" : "#/components/schemas/Admin_SupportEntryGroup"
            }
          }
        }, {
          "description" : "Start date (yyyy-MM-dd) from when the logs will be included (if `logs` is included in `group`). If empty, then current date.",
          "example" : "2022-03-30",
          "in" : "query",
          "name" : "start",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "description" : "End date (yyyy-MM-dd) until when the logs will be included (if `logs` is included in `group`). If empty, then current date.",
          "example" : "2022-03-31",
          "in" : "query",
          "name" : "end",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary",
                  "description" : "ZIP file BAS64 encoded",
                  "example" : "UEsDBBQACAgIABJef1QAAAA...8V3qai8RIg=="
                }
              }
            },
            "description" : "The support files have been collected and returned as a ZIP archive."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Collects a set of support information",
        "tags" : [ "administration" ]
      }
    },
    "/admin/session/table" : {
      "get" : {
        "description" : "Returns the session table with detailed status information about each session.",
        "operationId" : "readSessionTable",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Session_Table"
                }
              }
            },
            "description" : "Current session table with the status of all sessions."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns the session table",
        "tags" : [ "administration" ]
      }
    },
    "/admin/session/{sessionId}/close" : {
      "post" : {
        "description" : "Closes the session with the specified ID, by activating the session expiration. After the call, any access to the session results in an error.",
        "operationId" : "closeSession",
        "parameters" : [ {
          "description" : "ID of the session to be closed.",
          "in" : "path",
          "name" : "sessionId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Session successfully closed"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Closes the session with the specified ID",
        "tags" : [ "administration" ]
      }
    },
    "/admin/statistic/{dataSource}/{aggregation}" : {
      "get" : {
        "description" : "Reads statistic information from the server for Web services and file formats. **(Experimental Web service)**",
        "operationId" : "readServerStatistic",
        "parameters" : [ {
          "description" : "Data source from which the data is read.",
          "in" : "path",
          "name" : "dataSource",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Admin_DataSourceServerState"
          }
        }, {
          "description" : "Aggregation mode for the retrieved data.",
          "in" : "path",
          "name" : "aggregation",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Admin_AggregationServerState"
          }
        }, {
          "description" : "List of webservice names from which the data should be retrieved.",
          "in" : "query",
          "name" : "webservice",
          "schema" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Webservice"
            }
          }
        }, {
          "description" : "Start date for the data, formatted as ISO-8601 extended offset (zoned based) date-time format.",
          "example" : "2022-01-20T12:30:00,000Z",
          "in" : "query",
          "name" : "start",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "description" : "End date for the data, formatted as ISO-8601 extended offset (zoned based) date-time format.",
          "example" : "2022-01-22T23:59:59,000Z",
          "in" : "query",
          "name" : "end",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Admin_Statistic"
                }
              }
            },
            "description" : "Server statistic"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Reads statistic information (Experimental Web service)",
        "tags" : [ "experimental" ]
      }
    },
    "/authentication/user/certificates" : {
      "get" : {
        "description" : "Returns information about the keystores available in the user session and the certificates they contain. Certificates can be provided via user authentication (e.g. LDAP) or from the server's local file system (e.g. user or global keystores). The keystore may be locked and can be unlocked with `PUT /authentication/user/certificates/passwords/...`.",
        "operationId" : "readCertificates",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Auth_UserCertificates"
                }
              }
            },
            "description" : "Certificates for the user in the provided session"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Gets information about the certificates in the user session.",
        "tags" : [ "authentication" ]
      }
    },
    "/authentication/user/certificates/passwords/{keyStoreName}" : {
      "put" : {
        "description" : "Allows updating the passwords required to open a keystore and access the private keys in the user session keystore. ",
        "operationId" : "updateCertificatePasswords",
        "parameters" : [ {
          "description" : "Name of the keystore for which the passwords should be updated.",
          "in" : "path",
          "name" : "keyStoreName",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/KeyStore_Password"
              }
            }
          },
          "description" : "Password information for accessing the keystore and the entries in the keystore.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Auth_UserCertificates"
                }
              }
            },
            "description" : "Certificates for the user in the provided session"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Allows updating passwords for a keystore.",
        "tags" : [ "authentication" ]
      }
    },
    "/authentication/user/info" : {
      "get" : {
        "description" : "Returns information about the user in the session.",
        "operationId" : "info",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Auth_UserCredentials"
                }
              }
            },
            "description" : "Session information"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Gets information about a user in the session",
        "tags" : [ "authentication" ]
      }
    },
    "/authentication/user/login" : {
      "get" : {
        "deprecated" : true,
        "description" : "***DEPRECATED:*** Please use `POST /authentication/user/login` instead.<br/><br/>Authenticates a user by `user name` and `password` as a named user or as an anonymous user if both parameters are omitted. If successful, an access token is returned in the JSON response as property `token`. User credentials (`user name` and `password`) must be passed in HTTP header field `Authorization: Basic [BASE64]` or omitted for anonymous authentication.",
        "operationId" : "userLogin",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Auth_SessionToken"
                }
              }
            },
            "description" : "User successfully authenticated and an authorization token issued."
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Webservice_Exception"
                }
              }
            },
            "description" : "User is not authenticated and no authorization has been granted."
          }
        },
        "security" : [ {
          "BasicAuth" : [ ]
        }, { } ],
        "summary" : "Authenticates a user, initiates a session and returns a authorization token",
        "tags" : [ "authentication" ]
      },
      "post" : {
        "description" : "Authenticates a user by `user name` and `password` as a named user or as an anonymous user if both parameters are omitted. If successful, an access token is returned in the JSON response as property `token`. User credentials (`user name` and `password`) must be passed in HTTP header field `Authorization: Basic [BASE64]` or omitted for anonymous authentication.",
        "operationId" : "login",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Auth_LoginOptions"
              }
            }
          },
          "description" : "Settings for the login request"
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Auth_SessionToken"
                }
              }
            },
            "description" : "User successfully authenticated and an authorization token issued."
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Webservice_Exception"
                }
              }
            },
            "description" : "User is not authenticated and no authorization has been granted."
          }
        },
        "security" : [ {
          "BasicAuth" : [ ]
        }, { } ],
        "summary" : "Authenticates a user, initiates a session and returns a authorization token",
        "tags" : [ "authentication" ]
      }
    },
    "/authentication/user/logout" : {
      "get" : {
        "description" : "Logs off the user, deletes the user session and invalidates all tokens (access and refresh token). After the call, access to the session is no longer possible. The access token is passed in as HTTP header field `Authorization: Bearer [access token]`. **Important:** You can use the locally provided access token or an OAuth2 token to end the session.",
        "operationId" : "logout",
        "responses" : {
          "200" : {
            "description" : "Session cleared"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Logs off a user, deletes the session and all assigned tokens",
        "tags" : [ "authentication" ]
      }
    },
    "/authentication/user/refresh" : {
      "post" : {
        "description" : "Refreshes a user session and prevents the session from expiring. Exchanges the specified refresh token for a new set of tokens (access and refresh token). The refresh token is passed in as HTTP header field `Authorization: Bearer [refresh token]`. **Important:** Only locally provisioned refresh tokens work. Externally issued OAuth2 tokens cannot be refreshed.",
        "operationId" : "refresh",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Auth_SessionToken"
                }
              }
            },
            "description" : "The session was updated and new tokens (access and update) were issued."
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Updates a user session with the provided refresh token",
        "tags" : [ "authentication" ]
      }
    },
    "/barcode/new" : {
      "post" : {
        "description" : "Creates a new PDF or image file containing a barcode as it´s only content.\n\n* You can find information about the created document (such as it´s `documentId` in the server´s **document storage**) in the hereby returned `DocumentFile`.",
        "operationId" : "newBarcode",
        "parameters" : [ {
          "description" : "When set to **true** and whenever the document is manipulated, a history entry will be created and stored. This allows to revert such changes later.",
          "in" : "query",
          "name" : "history",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "description" : "Set the name for the newly created barcode document.",
          "in" : "query",
          "name" : "name",
          "schema" : {
            "type" : "string",
            "default" : "empty.pdf"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_BarcodeOperation"
              }
            }
          },
          "description" : "The parameters and options for the barcode operation.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The barcode creation has been successful, information about the resulting document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Creates a new PDF or image containing a barcode",
        "tags" : [ "barcode" ]
      }
    },
    "/barcode/{documentId}" : {
      "post" : {
        "description" : "Adds a barcode to a PDF or detects a barcode in a PDF document or image file.  The document is selected with `{documentId}`.\n\n* After the operation is performed, the existing document will be replaced by the updated document.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "executeBarcode",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s **document storage**.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_BarcodeOperation"
              }
            }
          },
          "description" : "The parameters and options for the barcode operation.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The barcode creation has been successful, information about the resulting document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Adds barcodes or recognizes barcodes in PDF documents",
        "tags" : [ "barcode" ]
      }
    },
    "/converter/{documentId}" : {
      "post" : {
        "description" : "Converts a document into a PDF document. The document is selected with `{documentId}`.\n\n* After the operation is performed, the existing document will be replaced by the new created PDF document.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "executeConverter",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s **document storage**.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_ConverterOperation"
              }
            }
          },
          "description" : "The parameters and options for the conversion.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The document conversion has been successful, information about the converted document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Converts a document to the PDF format",
        "tags" : [ "converter" ]
      }
    },
    "/documents" : {
      "post" : {
        "description" : "Uploads a document and stores it in the server´s document storage, assigning it a referencable `documentID`.\n\n* The returned document information `DocumentFile` contains the created ID in the field `documentId`.\n* The document information `DocumentFile` is fetched via `303 See Other` from `GET /documents/{documentId}/info`.",
        "operationId" : "uploadDocument",
        "parameters" : [ {
          "description" : "When set to **true** and whenever the document is manipulated, a history entry will be created and stored. This allows to revert such changes later.",
          "in" : "query",
          "name" : "history",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "filedata" : {
                    "type" : "string",
                    "format" : "binary",
                    "description" : "The document to upload, as binary data bytes."
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The document has been uploaded successfully. Use the `documentId` contained in the returned `DocumentFile` to reference it."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Uploads a document to the document storage",
        "tags" : [ "documents" ]
      }
    },
    "/documents/compress" : {
      "post" : {
        "description" : "Compresses a list of documents from the **document storage** selected by `documentId` or a file filter into a new archive document.\n\n* The list of documents that should be in the archive are selected via the `documentId` or a file filter.\n* The selection specifications can be made individually or together and act additively in the order `documentId` and then file filter.\n* If the id is invalid for documents selected via `documentId` or documents are locked, then the call is aborted with an error.\n* Depending on the `storeArchive` (default `true`) flag in the body of the request, the created archive is stored in the document storage or created as a temporary archive.\n* Depending on the `accept` header, the created archive itself is returned as binary data or the file information about the archive.",
        "operationId" : "compressDocument",
        "parameters" : [ {
          "allowEmptyValue" : true,
          "in" : "header",
          "name" : "accept",
          "schema" : {
            "type" : "string",
            "default" : "application/json",
            "description" : "Defines how the created archive is to be returned. If `application/octet-stream` is specified, the created archive is returned directly. If `application/json` is used (or nothing is defined), a `303 SEE OTHER` with `location` header is used if possible, otherwise the document information is returned directly as a JSON structure.",
            "example" : "application/json"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Document_FileCompress"
              }
            }
          },
          "description" : "The settings for creating the archive document and for selecting and filtering the documents to be added to the archive.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            },
            "description" : "The archive document has been created successfully. Depending on the `accept` header, the response body contains the result as specified in the `content-type` header.",
            "headers" : {
              "content-type" : {
                "description" : "The content type of the response body is selected depending on the `accept` header.",
                "schema" : {
                  "type" : "string"
                },
                "style" : "simple"
              }
            }
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Compresses the selected documents from the document storage into a new archive document.",
        "tags" : [ "documents" ]
      }
    },
    "/documents/list" : {
      "get" : {
        "description" : "Returns a list of all documents currently stored in the server´s **document storage**.\n\n* Returns a `DocumentFile` for each document in the storage, providing further information, such as the document´s MIME type, file name, `documentId`, structure etc.\n",
        "operationId" : "getDocumentInfoList",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Document_File"
                  }
                }
              }
            },
            "description" : "A list of all documents stored in the server´s **document storage** has been returned. Use the list of `DocumentFile` and the `documentId` contained in `DocumentFile` to access documents."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns a list of all documents in the document storage",
        "tags" : [ "documents" ]
      }
    },
    "/documents/list/{parentDocumentId}" : {
      "get" : {
        "description" : "Returns a list of all documents currently stored in the server´s **document storage**.\n\n* Returns a `DocumentFile` for each document in the storage, providing further information, such as the document´s MIME type, file name, `documentId`, structure etc.\n* The list contains only documents that have `{parentDocumentId}` as parent ID",
        "operationId" : "getDocumentInfoListWithParentId",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document known in the server's document storage and whose id is to be used as the parent filter for the list of documents.",
          "in" : "path",
          "name" : "parentDocumentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Document_File"
                  }
                }
              }
            },
            "description" : "A list of all documents stored in the server´s **document storage** has been returned. Use the list of `DocumentFile` and the `documentId` contained in `DocumentFile` to access documents."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns a list of all documents in the document storage",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}" : {
      "delete" : {
        "description" : "Deletes the document selected via it´s `documentId` from the server´s document storage.\n\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "deleteDocument",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The document has been deleted successfully."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Deletes the selected document from the document storage",
        "tags" : [ "documents" ]
      },
      "get" : {
        "description" : "Selects a document via it´s `documentId` and returns it as a binary data stream.\n\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.\n* Requires a valid session token `[API token]` (see **Authentication** at the top of document).",
        "operationId" : "getDocument",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document it is known by in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Directly converts the returned document into the hereby selected target format. (When set to **default**, the document will not be converted.)",
          "in" : "query",
          "name" : "format",
          "schema" : {
            "$ref" : "#/components/schemas/Document_StreamingFormat"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            },
            "description" : "The document as binary data bytes"
          },
          "304" : {
            "description" : "Document not modified"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns the binary data of a document",
        "tags" : [ "documents" ]
      },
      "put" : {
        "description" : "Updates the binary data of a document in the document store referenced by the `DocumentID`.\n\nIf history is enabled for the document, then a new entry with the uploaded content is created.\n* The returned document information `DocumentFile` contains the information for the updated document.\n* The document information `DocumentFile` is fetched via `303 See Other` from `GET /documents/{documentId}/info`.",
        "operationId" : "updateContent",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "filedata" : {
                    "type" : "string",
                    "format" : "binary",
                    "description" : "The document to upload, as binary data bytes."
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The file content of the document has been updated successfully. Use the `documentId` contained in the returned `DocumentFile` to reference it."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Updates the binary data of a document in the document store",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/archive/{archivePath}" : {
      "get" : {
        "description" : "Selects an archive document via its `documentId` and returns the binary data stream for a file within the archive.\n\n* To select the archive document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.\n* The referenced document **must** be an archive in a supported format\n* The `archivePath` **must** refer to a file within the archive. Wildcards are **not** supported.\n* Requires a valid session token `[API token]` (see **Authentication** at the top of document).",
        "operationId" : "getDocumentFromArchive",
        "parameters" : [ {
          "description" : "The unique `documentId` of the archive document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "The file path to the file within the archive document that is to be extracted.",
          "example" : "/folder/file.txt",
          "in" : "path",
          "name" : "archivePath",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : ".+"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            },
            "description" : "The document as binary data bytes"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns the binary data of a file in an archive document",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/extract" : {
      "post" : {
        "description" : "Extracts a document selected by the `documentId` in the **document storage**.\n\n* The document referenced by `documentId` must be a valid archive. If not, the operation will be aborted.\n* For each file in the archive, a new `DocumentFile` is created in the **document storage** with a new `documentId`.\n* Each newly created `DocumentFile` holds as `parentDocumentId` the `documentId` of the archive.",
        "operationId" : "extractDocument",
        "parameters" : [ {
          "description" : "The unique `documentId` of the archive document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Document_FileExtract"
              }
            }
          },
          "description" : "The settings for unpacking the archive document",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Document_File"
                  }
                }
              }
            },
            "description" : "The document has been extracted successfully. The response contains the list of unpacked documents as `DocumentFile` with the new `documentId` and `parentDocumentId` (id of the archive)."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Extracts the selected archive document in the document storage.",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/history" : {
      "get" : {
        "description" : "Returns the list of history information `HistoryEntry` for the document selected via it´s `documentId`.\n\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "getDocumentHistoryList",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Document_HistoryEntry"
                  }
                }
              }
            },
            "description" : "A list of history entries. Use the `historyId` contained in the returned `HistoryEntry`s to reference those."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns a list of all history entries for a selected document",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/history/{historyId}" : {
      "get" : {
        "description" : "Selects and returns a specific `HistoryEntry` for a document selected via it´s `documentId`.\n\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.\n* To select the `HistoryEntry` use the `historyId` of one of the `HistoryEntry`s returned by `GET /{documentId}/history`.",
        "operationId" : "getHistoryEntry",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "The unique `historyId` of the `History Entry` in the server´s list of history entries.",
          "in" : "path",
          "name" : "historyId",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_HistoryEntry"
                }
              }
            },
            "description" : "History entry"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns a specific history entry for a selected document",
        "tags" : [ "documents" ]
      },
      "put" : {
        "description" : "Updates the history entry with information from `HistoryEntry` in the request body and returns the updated entry.\n\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.\n* To select the `HistoryEntry` use the `historyId` of one of the `HistoryEntry`s returned by `GET /{documentId}/history`.",
        "operationId" : "updateHistoryEntry",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "The unique `historyId` of the `History Entry` in the server´s list of history entries.",
          "in" : "path",
          "name" : "historyId",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Document_HistoryEntry"
              }
            }
          },
          "description" : "The settings to apply to the selected history entry.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_HistoryEntry"
                }
              }
            },
            "description" : "The history entry has been updated successfully. Use the `historyId` contained in the returned `HistoryEntry` to reference it."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Updates a specific history entry for a selected document",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/info" : {
      "get" : {
        "description" : "Returns information about the document selected by `documentId` in the document storage, such as it´s MIME type, file name, `documentId`, structure etc.",
        "operationId" : "getDocumentInfo",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "An optional password. (Should a password be required to access the document.)",
          "in" : "query",
          "name" : "password",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "A document with the given `documentId` has been found and returned."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Returns information about an uploaded document",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/info/{details}" : {
      "get" : {
        "description" : "Returns information about the document selected by `documentId` in the document storage.",
        "operationId" : "getDocumentInfoDetails",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Detailed information for the document referenced by the unique `documentId` in the server´s document storage.",
          "in" : "path",
          "name" : "details",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Document_InfoType"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_Info"
                }
              }
            },
            "description" : "A document with the given `documentId` was found and the requested detail information is returned."
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Provides detailed information about an uploaded document",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/security/password" : {
      "put" : {
        "description" : "Updates the security information of a selected document in the server´s **document storage**, using the contained `PdfPasswordType` as the body request parameter and returns the updated document information. You can use this to set access passwords or other security information for a document.\n\n* The `DocumentFile` shall select the updated document via the contained `documentId`.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "updateDocumentSecurity",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_PdfPassword"
              }
            }
          },
          "description" : "The security settings to apply to the selected document.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The document has been updated successfully. Use the `documentId` contained in the returned `DocumentFile` to reference it."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Updates the security information for a selected document",
        "tags" : [ "documents" ]
      }
    },
    "/documents/{documentId}/update" : {
      "post" : {
        "description" : "Updates the document information of a selected document in the server´s **document storage**, using the given `DocumentFile` as body request parameter and returns the updated document information. You can use this to change the file name of a document.\n\n* Currently only the `fileName` in `DocumentFile` can be updated.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "renameDocument",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s document storage.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Document_FileUpdate"
              }
            }
          },
          "description" : "The settings to be applied to the selected document.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The document has been updated successfully. Use the `documentId` contained in the returned `DocumentFile` to reference it."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Updates the document information for a selected document",
        "tags" : [ "documents" ]
      }
    },
    "/ocr/{documentId}" : {
      "post" : {
        "description" : "Executes OCR operations for images and PDF documents. Should the document already be a PDF document, a text layer is added to pages of the document not containing text. Otherwise the document is converted to a PDF document first, to apply an OCR text layer then. The document is selected with `{documentId}`.\n\n* After the operation is performed, the existing document will be replaced by the updated document.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "executeOcr",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s **document storage**.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_OcrOperation"
              }
            }
          },
          "description" : "The parameters and options for the OCR operation.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The OCR operation has been successful, information about the resulting document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Executes OCR and adds a text layer to the document",
        "tags" : [ "ocr" ]
      }
    },
    "/pdfa/{documentId}" : {
      "post" : {
        "description" : "Converts a PDF document into a PDF/A document. The document is selected with `{documentId}`.\n\n* After the operation is performed, the existing document will be replaced by the updated document.\n* Be aware that the document must conform to the intended PDF/A conformance level, otherwise the conversion should be expected to fail.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "executePdfa",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s **document storage**.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_PdfaOperation"
              }
            }
          },
          "description" : "The parameters and options for the PDF/A conversion.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The document conversion has been successful, information about the converted document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Converts a PDF document to the PDF/A format",
        "tags" : [ "pdfa" ]
      }
    },
    "/portal/info" : {
      "get" : {
        "description" : "Gets the portal information. **These information are for internal use only, they are undocumented and will change without further notice!**",
        "operationId" : "readPortalInfo",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Portal_Information"
                }
              }
            },
            "description" : "Info"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          }
        },
        "summary" : "Gets the portal information [Internal use only, will change without further notice]",
        "tags" : [ "portal" ]
      }
    },
    "/signature/{documentId}" : {
      "post" : {
        "description" : "Digitally signs a PDF document. The document is selected with `{documentId}`.\n\n* After the operation is performed, the existing document will be replaced by the updated document.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "executeSignature",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s **document storage**.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_SignatureOperation"
              }
            }
          },
          "description" : "The parameters and options for the signature operation.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The signature operation has been successful, information about the signed document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Digitally signs a PDF document.",
        "tags" : [ "signature" ]
      }
    },
    "/toolbox/new" : {
      "post" : {
        "description" : "Provides a number of different operations that can be used to edit the newly created PDF document.\n\n* Which toolbox operations are executed is selected in the given parameters.\n* You can find information about the created document (such as it´s `documentId` in the server´s **document storage**) in the hereby returned `DocumentFile`.",
        "operationId" : "newToolbox",
        "parameters" : [ {
          "description" : "When set to **true** and whenever the document is manipulated, a history entry will be created and stored. This allows to revert such changes later.",
          "in" : "query",
          "name" : "history",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "description" : "Set the name for the newly created document",
          "in" : "query",
          "name" : "name",
          "schema" : {
            "type" : "string",
            "default" : "empty.pdf"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_ToolboxOperation"
              }
            }
          },
          "description" : "The parameters and options for the toolbox operation.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The operation has been successful, information about the resulting document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Creates an empty document and applies toolbox operations",
        "tags" : [ "toolbox" ]
      }
    },
    "/toolbox/{documentId}" : {
      "post" : {
        "description" : "Provides a set of different operations to modify existing PDF documents. The document is selected with `{documentId}`.\n\n* After the operation is performed, the existing document will be replaced by the updated document.\n* Which toolbox operations are executed is selected in the given parameters.\n* To select the document use the `documentId` returned, when uploading the document to the server´s **document storage**, or select a `documentId` of one of the documents returned by `GET /documents/list`.",
        "operationId" : "executeToolbox",
        "parameters" : [ {
          "description" : "The unique `documentId` of the document in the server´s **document storage**.",
          "in" : "path",
          "name" : "documentId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_ToolboxOperation"
              }
            }
          },
          "description" : "The parameters and options for the toolbox operation.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The operation has been successful, information about the resulting document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Provides a set of different operations to modify PDF documents",
        "tags" : [ "toolbox" ]
      }
    },
    "/urlconverter" : {
      "post" : {
        "description" : "Loads the contents of a URL and converts the content into a new PDF document.\n\n* You can find information about the created document (such as it´s `documentId` in the server´s **document storage**) in the hereby returned `DocumentFile`.",
        "operationId" : "executeUrlConverter",
        "parameters" : [ {
          "description" : "When set to **true** and whenever the document is manipulated, a history entry will be created and stored. This allows to revert such changes later.",
          "in" : "query",
          "name" : "history",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Operation_UrlConverterOperation"
              }
            }
          },
          "description" : "The parameters and options for the URL conversion.",
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Document_File"
                }
              }
            },
            "description" : "The URL conversion has been successful, information about the converted document have been returned in form of a `DocumentFile`."
          },
          "303" : {
            "$ref" : "#/components/responses/303SeeOther"
          },
          "400" : {
            "$ref" : "#/components/responses/400BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401Unauthorized"
          },
          "429" : {
            "$ref" : "#/components/responses/429TooManyRequests"
          }
        },
        "security" : [ {
          "BearerAuth" : [ ]
        } ],
        "summary" : "Creates a PDF document from the content of an URL",
        "tags" : [ "urlconverter" ]
      }
    }
  },
  "components" : {
    "responses" : {
      "303SeeOther" : {
        "description" : "See Other: The operation was successful, but the result of the call is provided by another endpoint. See the `location` header to get the endpoint that provides the information.",
        "headers" : {
          "location" : {
            "description" : "The URI of the server that provides the information. In the endpoint description, specified by `location`, you can find the type of data returned by the URI.",
            "schema" : {
              "type" : "string",
              "format" : "uri"
            }
          }
        }
      },
      "400BadRequest" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Webservice_Exception"
            }
          }
        },
        "description" : "Invalid data: The specified data has incorrect content, structure or invalid value.Check the specified exception for more information."
      },
      "401Unauthorized" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Webservice_Exception"
            }
          }
        },
        "description" : "Unauthorized access: Token not found (wrong header or format) or token is invalid (e.g. expired, wrong format or type)."
      },
      "429TooManyRequests" : {
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Webservice_Exception"
            }
          }
        },
        "description" : "Too many requests: The web service request was rejected because the server is overloaded or no server instance is free or no entry is available in the waiting queue."
      }
    },
    "schemas" : {
      "Admin_AggregationServerState" : {
        "type" : "string",
        "default" : "hour",
        "enum" : [ "minute", "hour", "day", "month", "year" ]
      },
      "Admin_ApplicationCheck" : {
        "type" : "object",
        "description" : "Selects the \"application.xml\" contents and server resources, that shall be validated.\n\n- executable = Select the defined external executables for validation.\n\n- tsa = Select the defined TSA (Timestamp Authority) for validation.\n\n- license = Select the server´s license for validation.\n\n- signature = Select the server´s global certificate keystore for validation.",
        "discriminator" : {
          "mapping" : {
            "executable" : "#/components/schemas/Admin_ExecutableApplicationCheck",
            "license" : "#/components/schemas/Admin_LicenseApplicationCheck",
            "signature" : "#/components/schemas/Admin_SignatureApplicationCheck",
            "tsa" : "#/components/schemas/Admin_TsaApplicationCheck"
          },
          "propertyName" : "checkType"
        },
        "properties" : {
          "checkType" : {
            "$ref" : "#/components/schemas/Admin_ApplicationCheckMode"
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_ApplicationCheckMode" : {
        "type" : "string",
        "default" : "tsa",
        "enum" : [ "license", "tsa", "executable", "signature" ]
      },
      "Admin_ApplicationConfiguration" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_Configuration"
        } ],
        "description" : "Defines settings for the server´s \"application.xml\". And provides the means (checks) to validate the server configuration and resources.",
        "properties" : {
          "configuration" : {
            "$ref" : "#/components/schemas/ApplicationConfig_Application"
          },
          "configurationChecks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ApplicationCheck"
            }
          },
          "globalKeyStore" : {
            "$ref" : "#/components/schemas/Admin_GlobalKeyStore"
          }
        },
        "required" : [ "configuration", "configurationChecks", "configurationMode", "configurationType" ]
      },
      "Admin_BackgroundFileDataStore" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_FileDataStore"
        } ],
        "description" : "Defines a file that is used as background in the portal and is stored in the server's data store. The file uses a fixed file name.",
        "properties" : {
          "fileContent" : {
            "type" : "string",
            "default" : "",
            "description" : "The actual content of the data storage file"
          }
        },
        "required" : [ "fileGroup" ]
      },
      "Admin_ClusterCheck" : {
        "type" : "object",
        "description" : "Selects the \"cluster.json\" content, that shall be validated.",
        "discriminator" : {
          "mapping" : {
            "connect" : "#/components/schemas/Admin_ConnectClusterCheck"
          },
          "propertyName" : "checkType"
        },
        "properties" : {
          "checkType" : {
            "$ref" : "#/components/schemas/Admin_ClusterCheckMode"
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_ClusterCheckMode" : {
        "type" : "string",
        "default" : "connect",
        "enum" : [ "connect" ]
      },
      "Admin_ClusterConfiguration" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_Configuration"
        } ],
        "description" : "Defines the settings for the server's \"cluster.json\" and provides the checks for validating the cluster configuration.",
        "properties" : {
          "configuration" : {
            "$ref" : "#/components/schemas/Cluster_Settings"
          },
          "configurationChecks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ClusterCheck"
            }
          }
        },
        "required" : [ "configuration", "configurationChecks", "configurationMode", "configurationType" ]
      },
      "Admin_Configuration" : {
        "type" : "object",
        "description" : "Defines settings that reflect and can be used to manipulate and validate the state of the different server configuration files and resources. (such as the \"application.xml\", \"server.xml\", \"users.xml\" or \"log4j2.xml\")",
        "discriminator" : {
          "mapping" : {
            "application" : "#/components/schemas/Admin_ApplicationConfiguration",
            "cluster" : "#/components/schemas/Admin_ClusterConfiguration",
            "log" : "#/components/schemas/Admin_LogConfiguration",
            "provider" : "#/components/schemas/Admin_ProviderConfiguration",
            "server" : "#/components/schemas/Admin_ServerConfiguration",
            "user" : "#/components/schemas/Admin_UserConfiguration"
          },
          "propertyName" : "configurationType"
        },
        "properties" : {
          "configurationMode" : {
            "$ref" : "#/components/schemas/Admin_ConfigurationMode"
          },
          "configurationType" : {
            "$ref" : "#/components/schemas/Admin_ConfigurationType"
          }
        },
        "required" : [ "configurationMode", "configurationType" ]
      },
      "Admin_ConfigurationFlag" : {
        "type" : "string",
        "default" : "",
        "description" : "Signals different configuration states with these flags",
        "enum" : [ "readOnly", "containsVariables", "changed" ]
      },
      "Admin_ConfigurationMode" : {
        "type" : "string",
        "default" : "validate",
        "description" : "Selects the purpose of the configuration request.\n\n- validate = The given configuration shall be validated.\n\n- write = The given configuration shall be written to the matching server configuration file.",
        "enum" : [ "validate", "write" ]
      },
      "Admin_ConfigurationResult" : {
        "type" : "object",
        "description" : "Defines an extended result object for administrative configuration operations when the configuration is updated.",
        "properties" : {
          "error" : {
            "$ref" : "#/components/schemas/Webservice_Result"
          },
          "executableError" : {
            "$ref" : "#/components/schemas/Admin_ExecutableResult"
          },
          "operation" : {
            "$ref" : "#/components/schemas/Admin_ConfigurationMode"
          }
        }
      },
      "Admin_ConfigurationStatus" : {
        "type" : "object",
        "description" : "Contains all server configurations of the server with status information",
        "properties" : {
          "configurations" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_ConfigurationStatusEntry"
            },
            "description" : "All server configurations"
          }
        },
        "readOnly" : true
      },
      "Admin_ConfigurationStatusEntry" : {
        "type" : "object",
        "description" : "The status information for a server configuration",
        "properties" : {
          "flags" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ConfigurationFlag"
            }
          }
        },
        "readOnly" : true
      },
      "Admin_ConfigurationType" : {
        "type" : "string",
        "default" : "application",
        "description" : "Selects the configuration file (from installation folder `conf/`) that shall be processed by the configuration request.\n\n- application = The \"application.xml\"\n\n- server = The \"server.xml\"\n\n- user = The \"users.xml\"\n\n- log = The \"log4j2.xml\"\n\n- cluster = The \"cluster.json\"\n\n- provider = The \"provider.json\"",
        "enum" : [ "application", "server", "user", "log", "cluster", "provider" ]
      },
      "Admin_ConnectClusterCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ClusterCheck"
        } ],
        "description" : "Validates the configured cluster configuration.",
        "required" : [ "checkType" ]
      },
      "Admin_ConnectorKeyStore" : {
        "type" : "object",
        "description" : "Lists all contents of the keystore (e.g. it´s certificates and raw data), that shall be used by theserver´s secured SSL connectors.",
        "properties" : {
          "certificates" : {
            "type" : "array",
            "description" : "Defines the certificates contained in the keystore.",
            "items" : {
              "$ref" : "#/components/schemas/Certificate_Entry"
            }
          },
          "keyStoreContent" : {
            "type" : "string",
            "default" : "",
            "description" : "The raw BASE64 encoded contents of a keystore file."
          }
        }
      },
      "Admin_ConnectorServerCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ServerCheck"
        } ],
        "description" : "Validates the configured connectors of the webPDF server, by checking whether or not they are responsive.",
        "required" : [ "checkType" ]
      },
      "Admin_DataSourceServerState" : {
        "type" : "string",
        "default" : "realtime",
        "enum" : [ "realtime", "persistent" ]
      },
      "Admin_DocumentStorageProviderCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ProviderCheck"
        } ],
        "description" : "Validates the configured configuration of the document storage provider.",
        "required" : [ "checkType" ]
      },
      "Admin_ErrorCountServerState" : {
        "type" : "object",
        "description" : "Stores statistic information about the number of occurred errors",
        "properties" : {
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "count" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1
          },
          "description" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Admin_ExecutableApplicationCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ApplicationCheck"
        } ],
        "description" : "Checks if the selected external applications are found and can be executed by the server if required.",
        "properties" : {
          "executables" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ExecutableName"
            }
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_ExecutableName" : {
        "type" : "string",
        "default" : "outsideIn",
        "description" : "Selects an executable for validation.\n\n - outsideIn = The main conversion engine responsible for the conversion of different file formats to PDF.\n\n- fisimple = An application to detect file formats.\n\n- tesseract = The OCR engine used by webPDF.\n\n- pdftools = A set of tools for PDF manipulation, mostly used for PDF/A conversion.\n\n- officeBridge = An executable, that allows to convert MS office documents using their native applications.\n\n- sharePointBridge = An executable, that allows to convert MS office documents using MS SharePoint.\n\n- chromium = An executable, that allows converting html and mail contents using chromium.\n\n- imageMagick = An engine for the manipulation and analysis of image formats.",
        "enum" : [ "outsideIn", "fisimple", "tesseract", "pdftools", "officeBridge", "sharePointBridge", "chromium", "imageMagick" ]
      },
      "Admin_ExecutableResult" : {
        "type" : "object",
        "description" : "The result of a used executable application.",
        "properties" : {
          "applicationName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the executed application."
          },
          "commandLine" : {
            "type" : "array",
            "description" : "The commandline output created by the executed application.",
            "items" : {
              "type" : "string",
              "description" : "The commandline output created by the executed application."
            }
          },
          "consoleOutput" : {
            "type" : "array",
            "description" : "The console output created by the executed application.",
            "items" : {
              "type" : "string",
              "description" : "The console output created by the executed application."
            }
          },
          "exitCode" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The application specific exit code. This is not a webPDF error code and is defined by the called application itself."
          },
          "isSuccessful" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the execution has been successful."
          },
          "message" : {
            "type" : "string",
            "default" : "",
            "description" : "A message summarizing the execution result."
          }
        }
      },
      "Admin_ExecutableStatus" : {
        "type" : "object",
        "description" : "Provides status information about the server´s used external applications.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true usage of external executables is enabled."
          },
          "status" : {
            "$ref" : "#/components/schemas/Admin_ExecutableStatusState"
          }
        },
        "readOnly" : true
      },
      "Admin_ExecutableStatusState" : {
        "type" : "string",
        "default" : "unknown",
        "description" : "Indicates the current status of external executable.\n\n- UNKNOWN = Whether the external executable may be used, could not be determined.\n\n- OK = The external executable is available and may be used.\n\n- DISABLED = The usage of the external executable is disabled and it may not be used.\n\n- ERROR = The external executable can not be used, it most likely is missing.\n\n- NOT_LICENSED = Usage of the external executable is unavailable, as it is not part of your server license.",
        "enum" : [ "unknown", "ok", "disabled", "error" ],
        "readOnly" : true
      },
      "Admin_FileDataStore" : {
        "type" : "object",
        "description" : "Defines a structure, that lists the different grouped files from the server´s file data storage.",
        "discriminator" : {
          "mapping" : {
            "background" : "#/components/schemas/Admin_BackgroundFileDataStore",
            "generic" : "#/components/schemas/Admin_GenericFileDataStore",
            "logo" : "#/components/schemas/Admin_LogoFileDataStore",
            "theme" : "#/components/schemas/Admin_ThemeFileDataStore"
          },
          "propertyName" : "fileGroup"
        },
        "properties" : {
          "fileGroup" : {
            "$ref" : "#/components/schemas/Admin_FileGroupDataStore"
          }
        },
        "required" : [ "fileGroup" ]
      },
      "Admin_FileGroupDataStore" : {
        "type" : "string",
        "default" : "generic",
        "description" : "Selects the purpose/group of a file in the server´s file data storage.\n\n- generic = A generic file, possibly a temporary file, without a predefined group or purpose.\n\n- theme = A CSS file, defining a theme for the portal page.\n\n- logo = An image file defining a logo for the portal page.\n\n- background = An image file defining a background for the portal page.",
        "enum" : [ "generic", "theme", "logo", "background" ]
      },
      "Admin_FileStorageProviderCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ProviderCheck"
        } ],
        "description" : "Validates the configured configuration of the file storage provider.",
        "required" : [ "checkType" ]
      },
      "Admin_GenericFileDataStore" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_FileDataStore"
        } ],
        "description" : "Defines a generic data storage file, possibly a temporary file, without a predefined group or purpose and a customizable file name.",
        "properties" : {
          "fileContent" : {
            "type" : "string",
            "default" : "",
            "description" : "The actual content of the data storage file"
          },
          "fileName" : {
            "type" : "string",
            "default" : "unknown.txt",
            "description" : "The name of the generic data storage file."
          }
        },
        "required" : [ "fileGroup" ]
      },
      "Admin_GlobalKeyStore" : {
        "type" : "object",
        "description" : "Lists all contents of the keystore (e.g. it´s certificates and raw data), that shall be set as the server´s global user certificate keystore.\n\n- This keystore shall not be bound to a specific webservice and hence shall serve as the server´s \"global\" keystore file.\n\n- The means to provide certificates on a per user basis and in a more selective fashion, can be found in the \"server.xml\" user storage settings, which allow placing such certificates for a specific authenticated user, from Your LDAP or a user database instead.\n\n- Further settings concerning this keystore (such as it´s password and type) can be found in the application config itself. The hereby given definition is only concerned with describing and setting up the actual keystore file and it´s contained certificates.",
        "properties" : {
          "certificates" : {
            "type" : "array",
            "description" : "Defines the certificates contained in the keystore.",
            "items" : {
              "$ref" : "#/components/schemas/Certificate_Entry"
            }
          },
          "keyStoreContent" : {
            "type" : "string",
            "default" : "",
            "description" : "The raw BASE64 encoded contents of a keystore file."
          }
        }
      },
      "Admin_JavaStatus" : {
        "type" : "object",
        "description" : "Provides information about the used Java virtual machine and it´sexecution context.",
        "properties" : {
          "gc" : {
            "type" : "array",
            "description" : "The list of GC used and their execution values.",
            "items" : {
              "$ref" : "#/components/schemas/Admin_JavaStatusGC"
            }
          },
          "javaName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the running JVM."
          },
          "javaVendor" : {
            "type" : "string",
            "default" : "",
            "description" : "The vendor of the running JVM."
          },
          "javaVersion" : {
            "type" : "string",
            "default" : "",
            "description" : "The java version of the running JVM."
          },
          "memoryAllocated" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The byte size of the memory currently allocated for the running JVM."
          },
          "memoryFree" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The byte size of free memory, that currently is available for further object allocations."
          },
          "memoryMax" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The byte size of the maximum memory, that could be allocated by the JVM, if required."
          },
          "memoryTotalFree" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The byte size of the free memory, that would currently be available for further object allocations, if the JVM would allocate the maximum allowed memory size."
          },
          "memoryUsed" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The byte size of the allocated memory, that is actually used by the JVM at the moment."
          }
        },
        "readOnly" : true
      },
      "Admin_JavaStatusGC" : {
        "type" : "object",
        "description" : "A single GC entry with the execution values.",
        "properties" : {
          "collectionCount" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "collectionTime" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "name" : {
            "type" : "string",
            "default" : ""
          }
        },
        "readOnly" : true
      },
      "Admin_JobServerState" : {
        "type" : "object",
        "description" : "Stores statistic information about the executed jobs.",
        "properties" : {
          "errorDetails" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_ErrorCountServerState"
            }
          },
          "executionTimeMs" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "lastJobId" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          },
          "numberOfErrorJobs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "numberOfJobs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "numberOfSuccessfulJobs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }
      },
      "Admin_LicenseApplicationCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ApplicationCheck"
        } ],
        "description" : "Validates the configured webPDF server license and whether it matches the given server.",
        "required" : [ "checkType" ]
      },
      "Admin_LogCheck" : {
        "type" : "object",
        "description" : "Selects the \"log4j2.xml\" contents and server resources, that shall be validated.\n\nCurrently no validation modes are defined for this section.",
        "discriminator" : {
          "propertyName" : "checkType"
        },
        "properties" : {
          "checkType" : {
            "type" : "string",
            "default" : ""
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_LogConfiguration" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_Configuration"
        } ],
        "description" : "Defines settings for the server´s \"log4j2.xml\". And provides the means (checks) to validate the server configuration and resources.",
        "properties" : {
          "configuration" : {
            "$ref" : "#/components/schemas/Admin_LogFileConfiguration"
          },
          "configurationChecks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_LogCheck"
            }
          }
        },
        "required" : [ "configuration", "configurationChecks", "configurationMode", "configurationType" ]
      },
      "Admin_LogConfigurationMode" : {
        "type" : "string",
        "default" : "none",
        "description" : "Selects a debug mode to enable a more verbose and more detailed logging.\n\n- none = suppress debug messages.\n\n- debug = Log debug messages.\n\n- debugRequest = Log incoming requests.\n\n- debugRequestPayload = Log the payload of incoming requests.",
        "enum" : [ "none", "debug", "debugRequest", "debugRequestPayload" ]
      },
      "Admin_LogFileConfiguration" : {
        "type" : "object",
        "description" : "Provides information and settings about the configured server logging.",
        "properties" : {
          "debugMode" : {
            "$ref" : "#/components/schemas/Admin_LogConfigurationMode"
          },
          "log4j2Xml" : {
            "type" : "string",
            "default" : "",
            "description" : "Current content or content to be written to the server's log4j2.xml configuration file."
          },
          "updateXml" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, then the content specified in the `log4j2Xml` attribute is written to the server's \"log4j2.xml\" configuration file."
          }
        }
      },
      "Admin_LogoFileDataStore" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_FileDataStore"
        } ],
        "description" : "Defines a file that is used as a logo in the portal and is stored in the server's data store. The file uses a fixed file name.",
        "properties" : {
          "fileContent" : {
            "type" : "string",
            "default" : "",
            "description" : "The actual content of the data storage file"
          }
        },
        "required" : [ "fileGroup" ]
      },
      "Admin_OsStatus" : {
        "type" : "object",
        "description" : "Provides information about the operating system on which the server is running",
        "properties" : {
          "container" : {
            "$ref" : "#/components/schemas/Admin_OsStatusContainer"
          },
          "cpuLogicalProcessors" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of logical processors available to the application"
          },
          "memoryCommittedVirtualSize" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The amount of virtual memory that is guaranteed to be available to the application in bytes"
          },
          "memoryFree" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The amount of free memory in bytes"
          },
          "memoryFreeSwapSize" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The amount of free swap space in bytes"
          },
          "memoryTotal" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The total amount of memory in bytes"
          },
          "memoryTotalSwapSize" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The total amount of swap space in bytes"
          },
          "osArchitecture" : {
            "type" : "string",
            "default" : "",
            "description" : "The operating system´s architecture"
          },
          "osName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the operating system, the server is running on"
          },
          "osVersion" : {
            "type" : "string",
            "default" : "",
            "description" : "The operating system´s version number"
          },
          "processCpuLoad" : {
            "type" : "number",
            "format" : "double",
            "default" : 0,
            "description" : "The recent CPU usage of the JVM with a value between 0.0 and 1.0 (a value of 1.0 means that threads were actively executed on all CPUs)"
          },
          "systemLoadAverage" : {
            "type" : "number",
            "format" : "double",
            "default" : 0,
            "description" : "The system load average for the last minute (or a negative value if not available)"
          }
        },
        "readOnly" : true
      },
      "Admin_OsStatusContainer" : {
        "type" : "object",
        "description" : "Information about the container plattform.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : ""
          }
        },
        "readOnly" : true
      },
      "Admin_PoolEntryServerState" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "poolSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }
      },
      "Admin_PoolServerState" : {
        "type" : "object",
        "description" : "Stores statistic information about the instances",
        "properties" : {
          "maxPoolSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "maxQueueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "maxUsedPoolSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "maxUsedQueueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "poolSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }
      },
      "Admin_ProviderCheck" : {
        "type" : "object",
        "description" : "Selects the \"provider.json\" content, that shall be validated.",
        "discriminator" : {
          "mapping" : {
            "documentStorage" : "#/components/schemas/Admin_DocumentStorageProviderCheck",
            "fileStorage" : "#/components/schemas/Admin_FileStorageProviderCheck",
            "sessionStorage" : "#/components/schemas/Admin_SessionStorageProviderCheck"
          },
          "propertyName" : "checkType"
        },
        "properties" : {
          "checkType" : {
            "$ref" : "#/components/schemas/Admin_ProviderCheckMode"
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_ProviderCheckMode" : {
        "type" : "string",
        "default" : "documentStorage",
        "enum" : [ "documentStorage", "fileStorage", "sessionStorage" ]
      },
      "Admin_ProviderConfiguration" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_Configuration"
        } ],
        "description" : "Defines the settings for the server's \"provider.json\" and provides the checks for validating the provider configuration.",
        "properties" : {
          "configuration" : {
            "$ref" : "#/components/schemas/Provider_Settings"
          },
          "configurationChecks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ProviderCheck"
            }
          }
        },
        "required" : [ "configuration", "configurationChecks", "configurationMode", "configurationType" ]
      },
      "Admin_ProviderConfigurationFormat" : {
        "type" : "string",
        "default" : "json",
        "enum" : [ "plain", "json", "yaml", "xml" ],
        "readOnly" : true
      },
      "Admin_ProviderEntry" : {
        "type" : "object",
        "properties" : {
          "fileName" : {
            "type" : "string",
            "default" : ""
          },
          "format" : {
            "$ref" : "#/components/schemas/Admin_ProviderConfigurationFormat"
          },
          "name" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Admin_Providers" : {
        "type" : "object",
        "description" : "Contains the list of available providers for storing documents, files and sessions in a cluster",
        "properties" : {
          "documentStorage" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ProviderEntry"
            }
          },
          "fileStorage" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ProviderEntry"
            }
          },
          "sessionStorage" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ProviderEntry"
            }
          }
        },
        "readOnly" : true
      },
      "Admin_ServerCheck" : {
        "type" : "object",
        "description" : "Selects the \"server.xml\" contents and server resources, that shall be validated.\n\n- user = Checks whether a valid user storage has been configured and can be accessed.\n\n- truststore = Checks whether a truststore has been configured and can be accessed.\n\n- connector = Checks whether the server´s connectors are well defined and responsive.",
        "discriminator" : {
          "mapping" : {
            "connector" : "#/components/schemas/Admin_ConnectorServerCheck",
            "truststore" : "#/components/schemas/Admin_TrustStoreServerCheck",
            "user" : "#/components/schemas/Admin_UserServerCheck"
          },
          "propertyName" : "checkType"
        },
        "properties" : {
          "checkType" : {
            "$ref" : "#/components/schemas/Admin_ServerCheckMode"
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_ServerCheckMode" : {
        "type" : "string",
        "default" : "user",
        "enum" : [ "user", "truststore", "connector" ]
      },
      "Admin_ServerConfiguration" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_Configuration"
        } ],
        "description" : "Defines settings for the server´s \"server.xml\". And provides the means (checks) to validate the server configuration and resources.",
        "properties" : {
          "configuration" : {
            "$ref" : "#/components/schemas/ServerConfig_Server"
          },
          "configurationChecks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_ServerCheck"
            }
          },
          "connectorKeyStore" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_ConnectorKeyStore"
            },
            "description" : "Lists all contents of the keystore (e.g. it´s certificates and raw data), that shall be used by theserver´s secured SSL connectors."
          },
          "trustStoreKeyStore" : {
            "$ref" : "#/components/schemas/Admin_TrustStoreKeyStore"
          }
        },
        "required" : [ "configuration", "configurationChecks", "configurationMode", "configurationType" ]
      },
      "Admin_ServerOS" : {
        "type" : "string",
        "default" : "windows",
        "description" : "Defines the operating system platform on which the server operates.",
        "enum" : [ "windows", "linux" ],
        "readOnly" : true
      },
      "Admin_ServerState" : {
        "type" : "object",
        "description" : "Stores statistic information about a server instance and the executed jobs",
        "properties" : {
          "instances" : {
            "$ref" : "#/components/schemas/Admin_PoolServerState"
          },
          "jobs" : {
            "$ref" : "#/components/schemas/Admin_JobServerState"
          },
          "lastUpdate" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "UTC datetime of last update",
            "readOnly" : true
          }
        }
      },
      "Admin_ServerStatus" : {
        "type" : "object",
        "description" : "Provides information about the status of the server, the JVM and the Web services",
        "properties" : {
          "java" : {
            "$ref" : "#/components/schemas/Admin_JavaStatus"
          },
          "os" : {
            "$ref" : "#/components/schemas/Admin_OsStatus"
          },
          "server" : {
            "$ref" : "#/components/schemas/Admin_ServerVersionInfo"
          },
          "webservices" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_WebserviceStatus"
            }
          }
        },
        "readOnly" : true
      },
      "Admin_ServerVersionInfo" : {
        "type" : "object",
        "description" : "Provides the server´s license and version information",
        "properties" : {
          "configurations" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_ConfigurationStatusEntry"
            },
            "description" : "All server configurations"
          },
          "hasChangedConfiguration" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether the configuration is currently changed and a restart of the server is necessary to apply the changes."
          },
          "licenseIsClusterUsage" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether the license can be used for a cluster coordinator or member."
          },
          "licenseText" : {
            "type" : "string",
            "default" : "",
            "description" : "A string summarizing the server´s current license."
          },
          "mainVersion" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The numeric major version of the server."
          },
          "minorVersion" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The numeric minor version of the server."
          },
          "providers" : {
            "$ref" : "#/components/schemas/Admin_Providers"
          },
          "serverPlatform" : {
            "$ref" : "#/components/schemas/Admin_ServerOS"
          },
          "serverStart" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The server start data and time (UTC) as Epoch Unix Timestamp."
          },
          "serverVersion" : {
            "type" : "string",
            "default" : "",
            "description" : "A formatted string containing the server´s name and version."
          }
        },
        "readOnly" : true
      },
      "Admin_SessionStorageProviderCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ProviderCheck"
        } ],
        "description" : "Validates the configured configuration of the session storage provider.",
        "required" : [ "checkType" ]
      },
      "Admin_SignatureApplicationCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ApplicationCheck"
        } ],
        "description" : "Checks whether the server´s global keystore is present, accessible and could be used by webservices. (such as the signature webservice.)",
        "required" : [ "checkType" ]
      },
      "Admin_Statistic" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/Admin_TimeFrameServerState"
              }
            }
          }
        }
      },
      "Admin_SupportEntryGroup" : {
        "type" : "string",
        "default" : "logs",
        "enum" : [ "config", "init", "logs" ]
      },
      "Admin_ThemeFileDataStore" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_FileDataStore"
        } ],
        "description" : "Defines a CSS file that is used as a theme in the portal and is stored in the server's data store. The file uses a fixed file name.",
        "properties" : {
          "fileContent" : {
            "type" : "string",
            "default" : "",
            "description" : "The actual content of the data storage file"
          }
        },
        "required" : [ "fileGroup" ]
      },
      "Admin_TimeEntryServerState" : {
        "type" : "object",
        "properties" : {
          "executionTimeMs" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "numberOfErrors" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "numberOfJobs" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }
      },
      "Admin_TimeFrameServerState" : {
        "type" : "object",
        "properties" : {
          "executionTimeMs" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "formats" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_TimeEntryServerState"
            }
          },
          "instances" : {
            "$ref" : "#/components/schemas/Admin_PoolEntryServerState"
          },
          "numberOfErrors" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "numberOfJobs" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }
      },
      "Admin_TrustStoreKeyStore" : {
        "type" : "object",
        "description" : "Lists all contents of the keystore (e.g. it´s certificates and raw data), that shall be set as the server´s truststore.",
        "properties" : {
          "certificates" : {
            "type" : "array",
            "description" : "Defines the certificates contained in the keystore.",
            "items" : {
              "$ref" : "#/components/schemas/Certificate_Entry"
            }
          },
          "keyStoreContent" : {
            "type" : "string",
            "default" : "",
            "description" : "The raw BASE64 encoded contents of a keystore file."
          }
        }
      },
      "Admin_TrustStoreServerCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ServerCheck"
        } ],
        "description" : "Validates the configured truststore, by attempting to access it.",
        "required" : [ "checkType" ]
      },
      "Admin_TsaApplicationCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ApplicationCheck"
        } ],
        "description" : "Validates the configured TSA (Timestamp Authority), by attempting to request a valid timestamp.",
        "required" : [ "checkType" ]
      },
      "Admin_UserCheck" : {
        "type" : "object",
        "description" : "Selects the \"users.xml\" contents and server resources, that shall be validated.\n\nCurrently no validation modes are defined for this section.",
        "discriminator" : {
          "propertyName" : "checkType"
        },
        "properties" : {
          "checkType" : {
            "type" : "string",
            "default" : ""
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_UserConfiguration" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_Configuration"
        } ],
        "description" : "Defines settings for the server´s \"users.xml\". And provides the means (checks) to validate the server configuration and resources.",
        "properties" : {
          "configuration" : {
            "$ref" : "#/components/schemas/UserConfig_Users"
          },
          "configurationChecks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Admin_UserCheck"
            }
          }
        },
        "required" : [ "configuration", "configurationChecks", "configurationMode", "configurationType" ]
      },
      "Admin_UserServerCheck" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Admin_ServerCheck"
        } ],
        "description" : "Validates the configured user storage (database, ldap or xml), by attempting to access it.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name required to access the user storage."
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "The password required to access the user storage."
          }
        },
        "required" : [ "checkType" ]
      },
      "Admin_WebserviceStatus" : {
        "type" : "object",
        "description" : "Provides information about the status and availability of a webservice.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the webservice is enabled and may be used."
          },
          "executables" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_ExecutableStatus"
            }
          },
          "state" : {
            "$ref" : "#/components/schemas/Admin_ServerState"
          },
          "status" : {
            "$ref" : "#/components/schemas/Webservice_Status"
          }
        },
        "readOnly" : true
      },
      "Admin_Webservices" : {
        "type" : "object",
        "description" : "Provides status information about the Web services",
        "properties" : {
          "webservices" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Admin_WebserviceStatus"
            }
          }
        },
        "readOnly" : true
      },
      "ApplicationConfig_Application" : {
        "type" : "object",
        "description" : "The application element defines settings for the web services and the portal page. Some of these changes might require a server restart to take effect.",
        "properties" : {
          "bridges" : {
            "$ref" : "#/components/schemas/ApplicationConfig_BridgesApplication"
          },
          "keystore" : {
            "$ref" : "#/components/schemas/ApplicationConfig_Keystore"
          },
          "license" : {
            "$ref" : "#/components/schemas/ApplicationConfig_License"
          },
          "metrics" : {
            "$ref" : "#/components/schemas/ApplicationConfig_Metrics"
          },
          "portal" : {
            "$ref" : "#/components/schemas/ApplicationConfig_Portal"
          },
          "proxies" : {
            "$ref" : "#/components/schemas/ApplicationConfig_ProxiesApplication"
          },
          "tsa" : {
            "$ref" : "#/components/schemas/ApplicationConfig_Tsa"
          },
          "webservices" : {
            "$ref" : "#/components/schemas/ApplicationConfig_WebservicesApplication"
          }
        },
        "required" : [ "bridges", "portal", "webservices" ]
      },
      "ApplicationConfig_BarcodeWebservice" : {
        "type" : "object",
        "description" : "Defines a set of options specific for the \"Barcode\" web service.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the web service is activated."
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Number of parallel instances (threads) for the web service. Defines the number of requests that can be executed in parallel before requests are queued.",
            "minimum" : 1
          },
          "maxLatency" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 180,
            "description" : "Maximum allowed time in seconds for the execution of a web service request (job) before the request is canceled. If the time has expired, the execution is aborted and an error code is returned.",
            "minimum" : 0
          },
          "queueMode" : {
            "type" : "string",
            "default" : "AUTO",
            "description" : "Defines how the size of the queue is determined.\n\nWith `AUTO`, it is calculated automatically by the server based on the number of configured instances.",
            "enum" : [ "AUTO", "MANUAL" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_QueueMode"
            }
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Maximum number of waiting requests, before new requests are rejected. If there are more requests than free instances, they are placed in the queue. If this maximum value is reached, further requests are rejected directly. This setting only applies if `queueMode` is set to `MANUAL`."
          }
        }
      },
      "ApplicationConfig_BridgesApplication" : {
        "type" : "object",
        "description" : "The bridges element defines settings for the bridges (to other applications) used by the server. Such bridges are mostly used, to provide the Converter web service with instruments for a native and more accurate PDF conversion of specific file formats.\n\n**Important:** Be aware that activating such a bridge requires the application to be installed and correctly configured on the server side. (Refer to the user manual for further information.)",
        "properties" : {
          "chromium" : {
            "$ref" : "#/components/schemas/ApplicationConfig_ChromiumBridge"
          },
          "office" : {
            "$ref" : "#/components/schemas/ApplicationConfig_OfficeBridge"
          },
          "sharePoint" : {
            "$ref" : "#/components/schemas/ApplicationConfig_SharePointBridge"
          }
        }
      },
      "ApplicationConfig_ChromiumBridge" : {
        "type" : "object",
        "description" : "Defines the settings for the Chromium bridge. The Chromium bridge is used for converting emails and HTML documents.",
        "properties" : {
          "commandLine" : {
            "$ref" : "#/components/schemas/ApplicationConfig_ChromiumBridgeCommandLine"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the Chromium bridge is activated."
          },
          "headlessMode" : {
            "type" : "string",
            "default" : "new",
            "description" : "Defines the different headless modes of the Chromium instance.\n\n*   NEW = Uses the same code base for the Chromium headless instance as the normal non-headless browser.\n*   OLD = Uses the old code base for the Chromium headless instance, which is different from the non-headless browser",
            "enum" : [ "old", "new" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_ChromiumBridgeHeadlessMode"
            }
          },
          "hostAddress" : {
            "type" : "string",
            "default" : "localhost",
            "description" : "The IP address on which Chromium should be reachable."
          },
          "noSandbox" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Sets this option whether the Chromium process should run in a sandbox or not.\n\n**Important:** Be aware that running Chromium outside a sandbox can be a security risk. Proceed with caution!"
          },
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets a custom base path for the Chromium application."
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The port on which Chromium should listen for requests."
          }
        }
      },
      "ApplicationConfig_ChromiumBridgeCommandLine" : {
        "type" : "object",
        "description" : "Allows you to define a list of command line switches that will be passed to the Chromium process. These values must be valid and fully declared switches that are passed unchanged to the Chromium process. Switches passed in this way have priority over all other defined switches.",
        "properties" : {
          "switch" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApplicationConfig_ChromiumBridgeCommandLineSwitch"
            }
          }
        }
      },
      "ApplicationConfig_ChromiumBridgeCommandLineSwitch" : {
        "type" : "object",
        "description" : "Defines a single command line switch for the Chromium process. This switch consists of a name for the switch and an associated value.",
        "properties" : {
          "mode" : {
            "type" : "string",
            "default" : "add",
            "description" : "Defines the operation mode for the command line switch.\n\n*   ADD = add the command line switch\n*   REMOVE = remove the command line switch",
            "enum" : [ "add", "remove" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_ChromiumBridgeCommandlineSwitchMode"
            }
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the name of the Chromium command line switch. The name must be spelled correctly (without \"--\" and in correct upper/lower case), because it will be used unchanged."
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the value of the Chromium command line switch. The value for the switch is used unchanged and must be escaped properly."
          }
        }
      },
      "ApplicationConfig_CompressPortalSettings" : {
        "type" : "object",
        "properties" : {
          "compressProfile" : {
            "type" : "string",
            "default" : "never",
            "description" : "Sets the profile for automatic document compression and thus defines whether compression should be applied when saving.\n\n*   always = PDF documents should always be compressed when saved.\n*   never = PDF documents should not be automatically compressed.\n*   recompress = PDF documents should only be compressed automatically if they were already compressed previously.",
            "enum" : [ "always", "never", "recompress" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_PortalCompressProfile"
            }
          }
        }
      },
      "ApplicationConfig_ConverterWebservice" : {
        "type" : "object",
        "description" : "Defines a set of options specific for the \"Converter\" web service.",
        "properties" : {
          "defaultFont" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the default font to be used if the original font was not found and no matching character (for representation) was found in any other font with a similar font family or characteristic. Therefore, a font should be used that has the widest possible coverage of characters, especially in the Unicode range.\n\n**Note:** If no font is specified, then the server tries to find a suitable font (such as \"Arial Unicode MS\" or \"Go Noto Current\"). If these fonts are not available, then the respective default font of the operating system (under Windows \"Arial\" and under Linux \"DejaVu Sans\") is used. If these are not available either, then a corresponding message appears on the server console (or in the logs).\n\n**Important:** This setting is supported only by the built-in document converter OutsideIn."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the web service is activated."
          },
          "fontPath" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the base path (including subfolders) of the server from which to retrieve installed fonts.\n\nIf no value is specified, then the default font directories (including subfolders) of the respective operating system are used. Under Windows this is usually `C:\\Windows\\Fonts` and under Linux `/usr/share/fonts/truetype`.\n\n**Note:** On Linux, the home directory of the user under which the server is running is also always used in addition. The environment variable `user.home` with the subdirectory `.fonts` is used.\n\n**Important:** This setting is supported only by the built-in document converter OutsideIn."
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Number of parallel instances (threads) for the web service. Defines the number of requests that can be executed in parallel before requests are queued.",
            "minimum" : 1
          },
          "maxLatency" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 180,
            "description" : "Maximum allowed time in seconds for the execution of a web service request (job) before the request is canceled. If the time has expired, the execution is aborted and an error code is returned.",
            "minimum" : 0
          },
          "queueMode" : {
            "type" : "string",
            "default" : "AUTO",
            "description" : "Defines how the size of the queue is determined.\n\nWith `AUTO`, it is calculated automatically by the server based on the number of configured instances.",
            "enum" : [ "AUTO", "MANUAL" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_QueueMode"
            }
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Maximum number of waiting requests, before new requests are rejected. If there are more requests than free instances, they are placed in the queue. If this maximum value is reached, further requests are rejected directly. This setting only applies if `queueMode` is set to `MANUAL`."
          }
        }
      },
      "ApplicationConfig_Keystore" : {
        "type" : "object",
        "description" : "Defines settings for the global keystore used by the server. This keystore is used to store globally available certificates (e.g. for usage in the signature web service).",
        "properties" : {
          "entry" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApplicationConfig_KeystoreEntry"
            }
          },
          "filter" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApplicationConfig_KeystoreFilter"
            }
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "The password required to access the keystore."
          },
          "type" : {
            "type" : "string",
            "default" : "NONE",
            "description" : "The format of the keystore file.\n\n*   NONE = Keystore not defined.\n*   JKS = A Java keystore (file based with an extension like \".jks\").\n*   PKCS11 = A PKCS11 keystore (Smart cards, USB keys/token and hardware security modules (HSMs)).\n*   PKCS12 = A PKCS12 keystore (file based with the extensions like \".p12\" or \".pfx\").",
            "enum" : [ "NONE", "JKS", "PKCS11", "PKCS12", "WINDOWS_MACHINE", "WINDOWS_USER" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_GlobalKeystoreFormat"
            }
          }
        }
      },
      "ApplicationConfig_KeystoreEntry" : {
        "type" : "object",
        "description" : "Defines information about one entry of a keystore.",
        "properties" : {
          "alias" : {
            "type" : "string",
            "default" : "",
            "description" : "The alias under which the keystore entry was saved."
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "The password of the keystore entry."
          }
        }
      },
      "ApplicationConfig_KeystoreFilter" : {
        "type" : "object",
        "description" : "Defines filters for the certificates used from the keystore.",
        "properties" : {
          "pattern" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines a filter pattern that allows the use of '\\*' and '?' wildcards."
          }
        }
      },
      "ApplicationConfig_License" : {
        "type" : "object",
        "description" : "Defines the license to be used for the server.",
        "properties" : {
          "key" : {
            "type" : "string",
            "default" : "",
            "description" : "License key. Divided into five parts, each part delimited by a minus sign. Each part has six characters."
          },
          "licensee" : {
            "type" : "string",
            "default" : "",
            "description" : "Name of the licensee. Is used in conjunction with the license key. Notation is important."
          }
        }
      },
      "ApplicationConfig_Metrics" : {
        "type" : "object",
        "description" : "Defines the configuration for collecting and exporting application metrics using the Micrometer framework.\n\nMetrics are collected across multiple architectural layers:\n\n*   **HTTP Layer**: Measures complete HTTP request lifecycle including authentication and routing\n*   **API Layer**: Tracks REST endpoint execution time and request counts\n*   **Service Layer**: Monitors the execution of business logic (web service operation) in terms of duration and invocations\n*   **Thread Pool Layer**: Tracks thread pool (web service instances) utilization and queue depth\n*   **JVM Layer**: Collects Java Virtual Machine metrics (memory, GC, threads)\n*   **System Layer**: Monitors system resources (CPU, disk, file descriptors)\n\nMetrics can be exported to Prometheus and/or JMX for monitoring and visualization in tools like Grafana.",
        "properties" : {
          "apiMetrics" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsApi"
          },
          "application" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsApplication"
          },
          "auth" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsAuth"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Master switch for the complete metrics subsystem.\n\nWhen set to `false`, no metrics are collected, exported, or exposed via endpoint/filter integrations.\n\nThis setting has precedence over all other metrics options and layer flags.\n\nDefault: `true`"
          },
          "httpMetrics" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsHttp"
          },
          "jmx" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsJmx"
          },
          "jvmMetrics" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsJvm"
          },
          "preset" : {
            "type" : "string",
            "default" : "",
            "description" : "Predefined metric configuration presets optimized for different deployment environments.\n\nPresets provide sensible defaults that can be overridden by explicit element configurations.",
            "enum" : [ "production", "development", "minimal", "custom" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_MetricsPreset"
            }
          },
          "prometheus" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsPrometheus"
          },
          "serviceMetrics" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsService"
          },
          "systemMetrics" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsSystem"
          },
          "threadPoolMetrics" : {
            "$ref" : "#/components/schemas/ApplicationConfig_MetricsThreadPool"
          }
        }
      },
      "ApplicationConfig_MetricsApi" : {
        "type" : "object",
        "description" : "Configuration for REST API layer metrics (Layer 2).\n\nInherits `enabled` attribute from `MetricsBasicType`.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables metrics collection for this layer.\n\nWhen disabled, no metrics are collected or exported, reducing overhead.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_MetricsApplication" : {
        "type" : "object",
        "description" : "Defines application-wide metrics configuration including percentiles, cardinality limits, and common tags.\n\nThese settings affect memory usage and metric granularity across all metric types.",
        "properties" : {
          "endpointEnabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables the HTTP metrics endpoint at `/metrics`.\n\nWhen disabled, metrics are still collected but not exposed via HTTP.\n\nThis is useful when using only JMX export or when metrics should not be accessible externally.\n\nDefault: `true`"
          },
          "maxEndpoints" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1,
            "description" : "Maximum number of unique REST endpoints to track separately.\n\nLimits metric cardinality to prevent memory exhaustion from dynamic URLs.\n\nWhen limit is reached, additional endpoints share a common metric with tag `endpoint=\"overflow\"`.\n\nValue `-1` means unlimited (not recommended for production).\n\nDefault: `-1` (unlimited)\n\n**Recommendation**: Set to 100-500 in production environments."
          },
          "maxStatusCodes" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1,
            "description" : "Maximum number of unique HTTP status codes to track separately.\n\nLimits metric cardinality for HTTP status code tags.\n\nValue `-1` means unlimited.\n\nDefault: `-1` (unlimited)\n\n**Note**: Status codes are typically limited (~60 standard codes), so this rarely needs adjustment."
          },
          "maxUris" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1,
            "description" : "Maximum number of unique URI paths to track separately in HTTP metrics.\n\nPrevents cardinality explosion from dynamic URI segments or query parameters.\n\nWhen limit is reached, additional URIs share a common metric with tag `uri=\"overflow\"`.\n\nValue `-1` means unlimited (not recommended for production).\n\nDefault: `-1` (unlimited)\n\n**Recommendation**: Set to 100-500 in production environments."
          },
          "metricCountWarningThreshold" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10000,
            "description" : "Threshold for logging a warning when total metric count exceeds this value.\n\nHigh metric counts indicate potential cardinality explosion and memory issues.\n\nUse this to detect unbounded metric growth in production.\n\nDefault: `10000`\n\n**Guideline**: Typical deployments should have <5000 metrics. Over 10000 indicates configuration issues."
          },
          "percentiles" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PercentilesMetricsApplication"
          },
          "percentilesEnabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables percentile calculation for timer metrics.\n\nWhen enabled, percentile distributions (p50, p95, p99) are calculated and exported.\n\n**Memory Impact**: Each timer with percentiles consumes approximately 1MB of memory.\n\n**Recommendation**: Disable in production to reduce memory footprint (~560MB savings for typical deployment).\n\nDefault: `true`"
          },
          "tag" : {
            "type" : "string",
            "default" : "webPDF",
            "description" : "Common tag value applied to all metrics as `application=\"...\"`.\n\nThis tag identifies the application in multi-tenant monitoring systems like Prometheus.\n\nUseful when multiple applications export metrics to the same monitoring infrastructure.\n\nDefault: `webPDF`\n\nExample metric: `http_server_requests{application=\"webPDF\",method=\"POST\"}`"
          }
        }
      },
      "ApplicationConfig_MetricsAuth" : {
        "type" : "object",
        "description" : "Configures authentication requirements for accessing the `/metrics` endpoint.\n\nWhen enabled, prevents unauthorized access to application metrics which may contain sensitive information.\n\nPrimary credentials are configured via XML attributes `username`, `password` and `token`.\n\nEnvironment variables and system properties are optional runtime overrides and take precedence over XML values.\n\nIf both Basic Auth credentials (`username`/`password`) and a Bearer token (`token`) are configured, both authentication methods are active at the same time. At request runtime, the method is selected by the HTTP `Authorization` scheme (`Basic` or `Bearer`).",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables authentication for the metrics endpoint.\n\nWhen enabled, requests must include valid credentials:\n\n*   **Basic Auth**: Configure in XML with `username`/`password` or override via `WEBPDF_METRICS_AUTH_USERNAME` / `webpdf.metrics.auth.username` and `WEBPDF_METRICS_AUTH_PASSWORD` / `webpdf.metrics.auth.password`\n*   **Bearer Token**: Configure in XML with `token` or override via `WEBPDF_METRICS_AUTH_TOKEN` / `webpdf.metrics.auth.token`\n\nWhen disabled, metrics endpoint is publicly accessible (suitable for development only).\n\nDefault: `true`\n\n**Security**: Always enable in production environments to protect sensitive operational data."
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "Password used for Basic Auth on the metrics endpoint.\n\nPrimary source: XML attribute `password`.\n\nCan be overridden via `WEBPDF_METRICS_AUTH_PASSWORD` or `webpdf.metrics.auth.password`."
          },
          "token" : {
            "type" : "string",
            "default" : "",
            "description" : "Bearer token used as alternative authentication on the metrics endpoint.\n\nPrimary source: XML attribute `token`.\n\nCan be overridden via `WEBPDF_METRICS_AUTH_TOKEN` or `webpdf.metrics.auth.token`."
          },
          "username" : {
            "type" : "string",
            "default" : "prometheus",
            "description" : "Username used for Basic Auth on the metrics endpoint.\n\nDefault: `prometheus`\n\nPrimary source: XML attribute `username`.\n\nCan be overridden via `WEBPDF_METRICS_AUTH_USERNAME` or `webpdf.metrics.auth.username`."
          }
        }
      },
      "ApplicationConfig_MetricsHttp" : {
        "type" : "object",
        "description" : "Configuration for HTTP transport layer metrics (Layer 1).\n\nInherits `enabled` attribute from `MetricsBasicType`.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables metrics collection for this layer.\n\nWhen disabled, no metrics are collected or exported, reducing overhead.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_MetricsJmx" : {
        "type" : "object",
        "description" : "Configuration for Java Management Extensions (JMX) metrics export.\n\nJMX allows metrics to be accessed via standard Java management tools like JConsole, VisualVM, and JMC.",
        "properties" : {
          "domain" : {
            "type" : "string",
            "default" : "webpdf.metrics",
            "description" : "Specifies the JMX domain name under which metrics are registered.\n\nThe domain groups related MBeans together in JMX management tools.\n\nDefault: `webpdf.metrics`\n\nExample ObjectName: `webpdf.metrics:name=http_server_requests,type=timers`"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables JMX metrics export.\n\nWhen enabled, metrics are registered as MBeans and can be viewed in JMX-compatible tools.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_MetricsJvm" : {
        "type" : "object",
        "description" : "Configuration for Java Virtual Machine internal metrics.\n\nInherits `enabled` attribute from `MetricsBasicType`.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables metrics collection for this layer.\n\nWhen disabled, no metrics are collected or exported, reducing overhead.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_MetricsPrometheus" : {
        "type" : "object",
        "description" : "Configuration for Prometheus metrics export.\n\nPrometheus is a time-series monitoring system that scrapes metrics from HTTP endpoints.\n\nWhen enabled, metrics are exposed at `/metrics` endpoint in Prometheus text format.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables Prometheus metrics export.\n\nWhen enabled, metrics are available at the `/metrics` HTTP endpoint.\n\nPrometheus server should be configured to scrape this endpoint periodically.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_MetricsService" : {
        "type" : "object",
        "description" : "Configuration for business logic layer metrics (Layer 3).\n\nInherits `enabled` attribute from `MetricsBasicType`.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables metrics collection for this layer.\n\nWhen disabled, no metrics are collected or exported, reducing overhead.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_MetricsSystem" : {
        "type" : "object",
        "description" : "Configuration for operating system and hardware resource metrics.\n\nInherits `enabled` attribute from `MetricsBasicType`.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables metrics collection for this layer.\n\nWhen disabled, no metrics are collected or exported, reducing overhead.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_MetricsThreadPool" : {
        "type" : "object",
        "description" : "Configuration for thread pool and worker execution layer metrics (Layer 4).\n\nInherits `enabled` attribute from `MetricsBasicType`.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables metrics collection for this layer.\n\nWhen disabled, no metrics are collected or exported, reducing overhead.\n\nDefault: `true`"
          }
        }
      },
      "ApplicationConfig_NewsPanel" : {
        "type" : "object",
        "description" : "Defines whether the portal displays a news page and where the content is loaded from.",
        "properties" : {
          "contentRefreshInterval" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 3600,
            "description" : "Interval in seconds at which the content should be reloaded.",
            "minimum" : 0
          },
          "entry" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApplicationConfig_NewsPanelEntry"
            }
          }
        }
      },
      "ApplicationConfig_NewsPanelEntry" : {
        "type" : "object",
        "description" : "Defines a source for the entries in the \"news panel\" of the portal page\".",
        "properties" : {
          "url" : {
            "type" : "string",
            "default" : "",
            "description" : "URL from which to load the content for the \"news panel\"."
          }
        }
      },
      "ApplicationConfig_OcrWebservice" : {
        "type" : "object",
        "description" : "Defines a set of options specific for the \"OCR\" web service.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the web service is activated."
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Number of parallel instances (threads) for the web service. Defines the number of requests that can be executed in parallel before requests are queued.",
            "minimum" : 1
          },
          "maxLatency" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 180,
            "description" : "Maximum allowed time in seconds for the execution of a web service request (job) before the request is canceled. If the time has expired, the execution is aborted and an error code is returned.",
            "minimum" : 0
          },
          "queueMode" : {
            "type" : "string",
            "default" : "AUTO",
            "description" : "Defines how the size of the queue is determined.\n\nWith `AUTO`, it is calculated automatically by the server based on the number of configured instances.",
            "enum" : [ "AUTO", "MANUAL" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_QueueMode"
            }
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Maximum number of waiting requests, before new requests are rejected. If there are more requests than free instances, they are placed in the queue. If this maximum value is reached, further requests are rejected directly. This setting only applies if `queueMode` is set to `MANUAL`."
          }
        }
      },
      "ApplicationConfig_OfficeBridge" : {
        "type" : "object",
        "description" : "Defines the settings for the MS Office Bridge. The Office Bridge can be used as an alternative (to the built-in conversion) for converting Office documents. The Office Bridge requires a local installation of MS Office on the server and works only on Windows.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If enabled, then the MS Office bridge is activated."
          },
          "excel" : {
            "$ref" : "#/components/schemas/ApplicationConfig_OfficeBridgeApp"
          },
          "powerPoint" : {
            "$ref" : "#/components/schemas/ApplicationConfig_OfficeBridgeApp"
          },
          "showMessagesOnDebugView" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If enabled, then all debug messages of the Office Bridge will be visible in the Windows application [\"SysInternals DebugView\"](https://docs.microsoft.com/en-us/sysinternals/downloads/debugview)"
          },
          "useExcel" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then MS Excel is usable via the Office bridge."
          },
          "usePowerPoint" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then MS PowerPoint is usable via the Office bridge."
          },
          "useVisio" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If enabled, then MS Visio is usable via the Office bridge."
          },
          "useWord" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then MS Word is usable via the Office bridge."
          },
          "visio" : {
            "$ref" : "#/components/schemas/ApplicationConfig_OfficeBridgeApp"
          },
          "word" : {
            "$ref" : "#/components/schemas/ApplicationConfig_OfficeBridgeApp"
          }
        }
      },
      "ApplicationConfig_OfficeBridgeApp" : {
        "type" : "object",
        "description" : "Defines settings specific for the MS Visio application in the office bridge.",
        "properties" : {
          "minExecutionTime" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 5000,
            "description" : "The minimum time frame provided for the execution of an operation with the Office bridge.",
            "minimum" : 0
          },
          "oleStartWaitTime" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The time in seconds to wait for the OLE server to start during initialization.",
            "minimum" : 0
          },
          "oleTerminationTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The time in seconds to wait for the OLE server to terminate at shutdown.",
            "minimum" : 0
          },
          "useExecutionTest" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this option is enabled, the Office Bridge application is started in test mode when the server is initialized, which provides advanced debugging information."
          }
        }
      },
      "ApplicationConfig_PdfaWebservice" : {
        "type" : "object",
        "description" : "Defines a set of options specific for the \"PDFA\" web service.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the web service is activated."
          },
          "fontPath" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the base path of the server from which to retrieve installed fonts."
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Number of parallel instances (threads) for the web service. Defines the number of requests that can be executed in parallel before requests are queued.",
            "minimum" : 1
          },
          "maxLatency" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 180,
            "description" : "Maximum allowed time in seconds for the execution of a web service request (job) before the request is canceled. If the time has expired, the execution is aborted and an error code is returned.",
            "minimum" : 0
          },
          "queueMode" : {
            "type" : "string",
            "default" : "AUTO",
            "description" : "Defines how the size of the queue is determined.\n\nWith `AUTO`, it is calculated automatically by the server based on the number of configured instances.",
            "enum" : [ "AUTO", "MANUAL" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_QueueMode"
            }
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Maximum number of waiting requests, before new requests are rejected. If there are more requests than free instances, they are placed in the queue. If this maximum value is reached, further requests are rejected directly. This setting only applies if `queueMode` is set to `MANUAL`."
          }
        }
      },
      "ApplicationConfig_PercentilesMetricsApplication" : {
        "type" : "object",
        "description" : "Defines custom percentile values for timer metrics (e.g., p50, p95, p99).\n\nPercentiles provide statistical distribution data but consume significant memory (~1MB per timer).\n\nIf not specified and `percentilesEnabled=\"true\"`, defaults to \\[0.5, 0.95, 0.99\\].",
        "properties" : {
          "percentile" : {
            "type" : "array",
            "description" : "A single percentile value between 0.0 and 1.0.\n\nCommon values: 0.5 (median), 0.95 (95th percentile), 0.99 (99th percentile), 0.999 (99.9th percentile)",
            "items" : {
              "type" : "number",
              "format" : "double",
              "description" : "A single percentile value between 0.0 and 1.0.\n\nCommon values: 0.5 (median), 0.95 (95th percentile), 0.99 (99th percentile), 0.999 (99.9th percentile)"
            }
          }
        }
      },
      "ApplicationConfig_Portal" : {
        "type" : "object",
        "description" : "The portal element defines settings for the portal page of the server.",
        "properties" : {
          "auth" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalAuth"
          },
          "functions" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalFunctions"
          },
          "newsPanel" : {
            "$ref" : "#/components/schemas/ApplicationConfig_NewsPanel"
          },
          "settings" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalSettings"
          },
          "userInterface" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalUserInterface"
          }
        }
      },
      "ApplicationConfig_PortalAuth" : {
        "type" : "object",
        "description" : "Defines which settings apply for authentication to the portal.",
        "properties" : {
          "allowAnonymous" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then anonymous login (without username and password) are allowed on the front end portal page. This has no effect on the admin page, which always denies anonymous access."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Defines whether the login for the front end portal page is available or not. This has no effect on the admin page, which is always available."
          },
          "timeout" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalAuthTimeout"
          }
        }
      },
      "ApplicationConfig_PortalAuthTimeout" : {
        "type" : "object",
        "description" : "Defines the timeout settings related to authentication and session.",
        "properties" : {
          "autoRefresh" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 300,
            "description" : "Defines the time in seconds before the access token expires at which an auto-refresh is performed. The auto-refresh prevents the session from expiring and the access token from becoming unusable. If the user is considered inactive, then a dialog is displayed before the auto-refresh is executed. If the value is '0', then the auto-refresh is disabled, i.e. the session ends when the access token expires.",
            "minimum" : 0
          },
          "inactivity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 60,
            "description" : "Defines the time in seconds after which a user should be considered inactive if no activity is detected in the portal. If the value is '0', then the detection is disabled, i.e. the user is never inactive.",
            "minimum" : 0
          }
        }
      },
      "ApplicationConfig_PortalFunctions" : {
        "type" : "object",
        "description" : "Defines which portal functions are enabled or disabled.",
        "properties" : {
          "addWatermark" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"add watermark\" dialog is deactivated."
          },
          "changeDocumentSettings" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"change document settings\" dialog is deactivated."
          },
          "changeDocumentView" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, the \"change document view\" dialog is deactivated."
          },
          "compress" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"compress\" dialog is deactivated."
          },
          "convertDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If deactivated, then the \"convert document\" dialog is deactivated."
          },
          "createBarcode" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"create Barcode\" dialog is deactivated."
          },
          "deletePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"delete pages\" dialog is deactivated."
          },
          "detectBarcode" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"detect Barcode\" dialog is deactivated."
          },
          "editAnnotation" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit annotation\" dialog is deactivated."
          },
          "editAttachment" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit attachment\" dialog is deactivated."
          },
          "editBackground" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit background\" dialog is deactivated."
          },
          "editBoxes" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit boxes\" dialog is deactivated."
          },
          "editForms" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit forms\" dialog is deactivated."
          },
          "editHeaderFooter" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit header/footer\" dialog is deactivated."
          },
          "editTransitions" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit transitions\" dialog is deactivated."
          },
          "encryptDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"encrypt document\" dialog is deactivated."
          },
          "exportAsImage" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"export as image\" dialog is deactivated."
          },
          "extractContent" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"extract content\" dialog is deactivated."
          },
          "extractPages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"extract pages\" dialog is deactivated."
          },
          "mergeDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"merge document\" dialog is deactivated."
          },
          "movePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"move pages\" dialog is deactivated."
          },
          "ocrConversion" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"OCR conversion\" dialog is deactivated."
          },
          "outline" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit outline\" dialog is deactivated."
          },
          "pdfaConversion" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"PDF/A conversion\" dialog is deactivated."
          },
          "portfolio" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"portfolio\" dialog is deactivated."
          },
          "printDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"print document\" dialog is deactivated."
          },
          "redact" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"redact\" dialog is deactivated."
          },
          "renameDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"rename document\" dialog is deactivated."
          },
          "rotatePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"rotate pages\" dialog is deactivated."
          },
          "sanitize" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"sanitize\" dialog is deactivated."
          },
          "scalePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"scale pages\" dialog is deactivated."
          },
          "showHelp" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When set to true the portal page shall display help and info messages."
          },
          "signDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"sign document\" dialog is deactivated."
          },
          "splitDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"split document\" dialog is deactivated."
          },
          "transcribeDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"transcribe document\" dialog is deactivated."
          },
          "uploadFile" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"upload file\" dialog is deactivated."
          },
          "uploadUrl" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the URL to PDF conversion is deactivated."
          }
        }
      },
      "ApplicationConfig_PortalSettings" : {
        "type" : "object",
        "description" : "Defines global settings for the web service calls made from the portal page.",
        "properties" : {
          "compress" : {
            "$ref" : "#/components/schemas/ApplicationConfig_CompressPortalSettings"
          },
          "signature" : {
            "$ref" : "#/components/schemas/ApplicationConfig_SignaturePortalSettings"
          }
        }
      },
      "ApplicationConfig_PortalUserInterface" : {
        "type" : "object",
        "description" : "Defines settings for the user interface of the portal.",
        "properties" : {
          "limits" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalUserInterfaceLimits"
          },
          "tooltips" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalUserInterfaceTooltips"
          }
        }
      },
      "ApplicationConfig_PortalUserInterfaceLimits" : {
        "type" : "object",
        "properties" : {
          "displayDiskSpace" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Defines whether the portal page should display the maximum available disk space on the screen."
          },
          "displayMaxFiles" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Specifies whether the portal page should display the maximum number of up-loadable files on the screen."
          }
        }
      },
      "ApplicationConfig_PortalUserInterfaceTooltips" : {
        "type" : "object",
        "properties" : {
          "showDelay" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 5
          }
        }
      },
      "ApplicationConfig_ProxiesApplication" : {
        "type" : "object",
        "description" : "Defines proxy servers that shall be known to and used by the server to access external resources.",
        "properties" : {
          "proxy" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApplicationConfig_Proxy"
            }
          },
          "useSystemProxies" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When enabled, proxy settings are automatically read from the operating system instead of using manually configured proxies.\n\nSupported sources:\n\n*   **Windows:** System proxy settings (Internet Settings via Java ProxySelector)\n*   **Linux:** Environment variables (HTTP\\_PROXY, HTTPS\\_PROXY, NO\\_PROXY)\n*   **All platforms:** Java system properties (http.proxyHost, http.proxyPort, etc.)\n\n**Important:**\n\n*   When useSystemProxies is enabled, all manually configured proxy entries in this section are ignored. This is an exclusive setting - either system proxies OR manual proxies are used, not both.\n*   To read the settings from the Windows registry, the JVM option `-Djava.net.useSystemProxies=true` must be set.\n\n**Limitations:** PAC (Proxy Auto-Config) files and WPAD (Web Proxy Auto-Discovery) are not supported. Only basic proxy configurations (host, port, bypass list) are read from the system."
          }
        }
      },
      "ApplicationConfig_Proxy" : {
        "type" : "object",
        "description" : "Defines a proxy server that shall be known to and used by the server to access external resources.",
        "properties" : {
          "bypassProxyOnLocal" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When enabled, the proxy will be bypassed for local addresses such as localhost, 127.0.0.1, \\[::1\\], and addresses without a dot (e.g., \"intranet\")."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enables or disables this proxy configuration. When disabled, the proxy will not be used even if configured."
          },
          "host" : {
            "type" : "string",
            "default" : "",
            "description" : "The address of the proxy server."
          },
          "nonProxyHost" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApplicationConfig_ProxyNonHost"
            }
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "The password of the user required to authenticate with the proxy server."
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 8080,
            "description" : "The port on which the proxy listens.",
            "minimum" : 0
          },
          "scheme" : {
            "type" : "string",
            "default" : "http",
            "description" : "The scheme to access the proxy server (currently only \"http\" or \"https\" are allowed)."
          },
          "userName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the user required to authenticate with the proxy server."
          }
        }
      },
      "ApplicationConfig_ProxyNonHost" : {
        "type" : "object",
        "description" : "A list of host entries for which the proxy should be bypassed. Wildcards ('\\*') are supported for pattern matching.",
        "properties" : {
          "host" : {
            "type" : "string",
            "default" : "",
            "description" : "A single host entry for which the proxy should be bypassed. Wildcards ('\\*') are supported for pattern matching."
          }
        }
      },
      "ApplicationConfig_SharePointBridge" : {
        "type" : "object",
        "description" : "Defines the settings for the SharePoint Bridge. The SharePoint Bridge can be used as an alternative (to the built-in conversion) for converting Office documents. The SharePoint Bridge uses SharePoint Online and therefore requires the corresponding Microsoft 365 service and a registered application on the Microsoft identity platform",
        "properties" : {
          "app" : {
            "$ref" : "#/components/schemas/ApplicationConfig_SharePointBridgeApp"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true the SharePoint Online bridge shall be enabled."
          },
          "site" : {
            "$ref" : "#/components/schemas/ApplicationConfig_SharePointBridgeSite"
          }
        }
      },
      "ApplicationConfig_SharePointBridgeApp" : {
        "type" : "object",
        "description" : "Defines the settings for the registered application on the Microsoft identity platform for access to the SharePoint Online site",
        "properties" : {
          "applicationId" : {
            "type" : "string",
            "default" : "",
            "description" : "The ID of the application that was assigned during creation"
          },
          "clientSecret" : {
            "type" : "string",
            "default" : "",
            "description" : "The secret that was generated for the application"
          },
          "tenantId" : {
            "type" : "string",
            "default" : "",
            "description" : "The id of the tenant to which the application belongs"
          }
        }
      },
      "ApplicationConfig_SharePointBridgeSite" : {
        "type" : "object",
        "description" : "Defines the name of the Sharepoint Online site that is used for document conversion. Access to the site must be configured as a registered application on the Microsoft identity platform",
        "properties" : {
          "siteName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the site to be used for converting the documents"
          }
        }
      },
      "ApplicationConfig_SignaturePortalSettings" : {
        "type" : "object",
        "properties" : {
          "signatureEditProfile" : {
            "type" : "string",
            "default" : "adobeRestrictions",
            "description" : "Defines the profile whose rules web services have to check before they can come to execution. These profiles define a set of rules concerning the validity of signatures. A web service whose execution for a given signed document would violate the rule set selected here should instead abort with an appropriate error code.\n\n*   adobeRestrictions = Only those changes are allowed that are enabled by the included signatures. This follows the specifications given by Adobe.\n*   generalEditRestrictions = All changes to signed documents are prohibited, even those that might be allowed according to the included signatures.\n*   noEditRestrictions = Editing of signed documents is not restricted and all changes are allowed. (By doing this, you accept the possible invalidation of included signatures.)\n\n**Important:** You can find further explanations of these profiles in the chapter \"Signature Validation\".",
            "enum" : [ "adobeRestrictions", "generalEditRestrictions", "noEditRestrictions" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_PortalSignatureEditProfile"
            }
          }
        }
      },
      "ApplicationConfig_SignatureWebservice" : {
        "type" : "object",
        "description" : "Defines a set of options specific for the \"Signature\" web service.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the web service is activated."
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Number of parallel instances (threads) for the web service. Defines the number of requests that can be executed in parallel before requests are queued.",
            "minimum" : 1
          },
          "maxLatency" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 180,
            "description" : "Maximum allowed time in seconds for the execution of a web service request (job) before the request is canceled. If the time has expired, the execution is aborted and an error code is returned.",
            "minimum" : 0
          },
          "queueMode" : {
            "type" : "string",
            "default" : "AUTO",
            "description" : "Defines how the size of the queue is determined.\n\nWith `AUTO`, it is calculated automatically by the server based on the number of configured instances.",
            "enum" : [ "AUTO", "MANUAL" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_QueueMode"
            }
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Maximum number of waiting requests, before new requests are rejected. If there are more requests than free instances, they are placed in the queue. If this maximum value is reached, further requests are rejected directly. This setting only applies if `queueMode` is set to `MANUAL`."
          }
        }
      },
      "ApplicationConfig_ToolboxWebservice" : {
        "type" : "object",
        "description" : "Defines a set of options specific for the \"Toolbox\" web service.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the web service is activated."
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Number of parallel instances (threads) for the web service. Defines the number of requests that can be executed in parallel before requests are queued.",
            "minimum" : 1
          },
          "maxLatency" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 180,
            "description" : "Maximum allowed time in seconds for the execution of a web service request (job) before the request is canceled. If the time has expired, the execution is aborted and an error code is returned.",
            "minimum" : 0
          },
          "queueMode" : {
            "type" : "string",
            "default" : "AUTO",
            "description" : "Defines how the size of the queue is determined.\n\nWith `AUTO`, it is calculated automatically by the server based on the number of configured instances.",
            "enum" : [ "AUTO", "MANUAL" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_QueueMode"
            }
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Maximum number of waiting requests, before new requests are rejected. If there are more requests than free instances, they are placed in the queue. If this maximum value is reached, further requests are rejected directly. This setting only applies if `queueMode` is set to `MANUAL`."
          }
        }
      },
      "ApplicationConfig_Tsa" : {
        "type" : "object",
        "description" : "Defines a TSA (Time Stamp Authority which supports [RFC3161](https://www.ietf.org/rfc/rfc3161.txt)) that shall be used by the server.",
        "properties" : {
          "hashAlgorithm" : {
            "type" : "string",
            "default" : "SHA-1",
            "description" : "The hashing algorithm used to check the validity of the timestamp.",
            "enum" : [ "MD5", "SHA-1", "SHA-224", "SHA-256", "SHA-384", "SHA-512" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_TsaHashAlgorithm"
            }
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "The password required for authentication with the TSA."
          },
          "url" : {
            "type" : "string",
            "default" : "",
            "description" : "The URL where the TSA can be reached."
          },
          "user" : {
            "type" : "string",
            "default" : "",
            "description" : "The username required for authentication with the TSA."
          }
        }
      },
      "ApplicationConfig_UrlConverterWebservice" : {
        "type" : "object",
        "description" : "Defines a set of options specific for the \"URL Converter\" web service.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the web service is activated."
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Number of parallel instances (threads) for the web service. Defines the number of requests that can be executed in parallel before requests are queued.",
            "minimum" : 1
          },
          "maxLatency" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 180,
            "description" : "Maximum allowed time in seconds for the execution of a web service request (job) before the request is canceled. If the time has expired, the execution is aborted and an error code is returned.",
            "minimum" : 0
          },
          "queueMode" : {
            "type" : "string",
            "default" : "AUTO",
            "description" : "Defines how the size of the queue is determined.\n\nWith `AUTO`, it is calculated automatically by the server based on the number of configured instances.",
            "enum" : [ "AUTO", "MANUAL" ],
            "x-webpdf-codegen" : {
              "enumName" : "ApplicationConfig_QueueMode"
            }
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Maximum number of waiting requests, before new requests are rejected. If there are more requests than free instances, they are placed in the queue. If this maximum value is reached, further requests are rejected directly. This setting only applies if `queueMode` is set to `MANUAL`."
          },
          "timeout" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 60000,
            "description" : "Sets a timeout in seconds, that shall be used for the HTTP request to get the URL."
          },
          "userAgent" : {
            "type" : "string",
            "default" : "Mozilla/5.0 (Windows; U; Windows NT 6.1; de-DE) AppleWebKit/532.4 (KHTML, like Gecko) Qt/4.6.1 Safari/532.4",
            "description" : "Sets the text for the user agent to send to the destination server from which the URL is to be retrieved."
          }
        }
      },
      "ApplicationConfig_WebservicesApplication" : {
        "type" : "object",
        "description" : "The web services element defines settings for the web service endpoints.",
        "properties" : {
          "barcode" : {
            "$ref" : "#/components/schemas/ApplicationConfig_BarcodeWebservice"
          },
          "converter" : {
            "$ref" : "#/components/schemas/ApplicationConfig_ConverterWebservice"
          },
          "ocr" : {
            "$ref" : "#/components/schemas/ApplicationConfig_OcrWebservice"
          },
          "pdfa" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PdfaWebservice"
          },
          "signature" : {
            "$ref" : "#/components/schemas/ApplicationConfig_SignatureWebservice"
          },
          "toolbox" : {
            "$ref" : "#/components/schemas/ApplicationConfig_ToolboxWebservice"
          },
          "urlconverter" : {
            "$ref" : "#/components/schemas/ApplicationConfig_UrlConverterWebservice"
          }
        }
      },
      "Auth_AnonymousLimits" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Auth_Limits"
        } ],
        "description" : "Document limits for the anonymous user"
      },
      "Auth_Limits" : {
        "type" : "object",
        "description" : "Limits for the user",
        "discriminator" : {
          "mapping" : {
            "anonymous" : "#/components/schemas/Auth_AnonymousLimits",
            "user" : "#/components/schemas/Auth_UserLimits"
          },
          "propertyName" : "type"
        },
        "properties" : {
          "diskSpaceLimit" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum size for all uploaded files (in mega byte); 0 = disabled",
            "minimum" : 0
          },
          "maxFiles" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of uploaded files; 0 = disabled",
            "minimum" : 0
          },
          "type" : {
            "type" : "string",
            "default" : ""
          },
          "uploadLimit" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum file size for uploads (in mega byte); 0 = disabled",
            "minimum" : 0
          }
        },
        "readOnly" : true,
        "required" : [ "type" ]
      },
      "Auth_LoginOptions" : {
        "type" : "object",
        "description" : "Options for user authentication at logon",
        "properties" : {
          "createRefreshToken" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If enabled (true), a refresh token is also created."
          }
        }
      },
      "Auth_Provider" : {
        "type" : "object",
        "description" : "Defines a general authorization provider",
        "properties" : {
          "applicationId" : {
            "type" : "string",
            "default" : ""
          },
          "clientId" : {
            "type" : "string",
            "default" : ""
          },
          "displayName" : {
            "type" : "string",
            "default" : ""
          },
          "id" : {
            "type" : "string",
            "default" : ""
          },
          "logout" : {
            "$ref" : "#/components/schemas/ServerConfig_OAuthProviderLogout"
          },
          "name" : {
            "type" : "string",
            "default" : "generic",
            "enum" : [ "generic", "azureAd", "auth0" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_OAuthProviderName"
            }
          },
          "oidc" : {
            "$ref" : "#/components/schemas/OAuth_OIDCMetadata"
          },
          "scope" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Auth_SessionToken" : {
        "type" : "object",
        "description" : "Session token",
        "properties" : {
          "expiresIn" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "If the access token expires, the duration of time in seconds the access token is granted for.",
            "readOnly" : true
          },
          "refreshToken" : {
            "type" : "string",
            "default" : "",
            "description" : "The refresh token string as issued by the server. When the access token expires, this token can be used to request a new access token.",
            "readOnly" : true
          },
          "token" : {
            "type" : "string",
            "default" : "",
            "description" : "The access token string as issued by the server.",
            "readOnly" : true
          }
        },
        "readOnly" : true,
        "required" : [ "token" ]
      },
      "Auth_UserCertificates" : {
        "type" : "object",
        "description" : "Contains the list of certificates and keystores available for the user in the current session.",
        "properties" : {
          "certificates" : {
            "type" : "array",
            "description" : "List of certificates",
            "items" : {
              "$ref" : "#/components/schemas/Certificate_Entry"
            },
            "readOnly" : true
          },
          "keyStores" : {
            "type" : "array",
            "description" : "List of keystores",
            "items" : {
              "$ref" : "#/components/schemas/KeyStore_Entry"
            },
            "readOnly" : true
          }
        },
        "required" : [ "certificates", "keyStores" ]
      },
      "Auth_UserCredentials" : {
        "type" : "object",
        "description" : "Returns details about a user in a session",
        "properties" : {
          "isAdmin" : {
            "type" : "boolean",
            "default" : false,
            "description" : "true = An administration user",
            "readOnly" : true
          },
          "isUser" : {
            "type" : "boolean",
            "default" : true,
            "description" : "true = A standard user",
            "readOnly" : true
          },
          "roles" : {
            "type" : "array",
            "description" : "Roles assigned to the user",
            "items" : {
              "type" : "string",
              "description" : "Roles assigned to the user",
              "readOnly" : true
            },
            "readOnly" : true
          },
          "uniqueId" : {
            "type" : "string",
            "default" : "",
            "description" : "Unique ID for the user",
            "readOnly" : true
          },
          "userLimits" : {
            "$ref" : "#/components/schemas/Auth_Limits"
          },
          "userName" : {
            "type" : "string",
            "default" : "",
            "description" : "Name of the user",
            "readOnly" : true
          }
        },
        "required" : [ "isAdmin", "isUser", "roles", "uniqueId", "userLimits", "userName" ]
      },
      "Auth_UserLimits" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Auth_Limits"
        } ],
        "description" : "Document limits for the authenticated user"
      },
      "Certificate_Entry" : {
        "type" : "object",
        "description" : "An actual X509 certificate entry.",
        "properties" : {
          "aliasName" : {
            "type" : "string",
            "default" : "",
            "description" : "Alias name for the certificate",
            "readOnly" : true
          },
          "certificate" : {
            "type" : "string",
            "default" : "",
            "description" : "PEM encoded certificate",
            "readOnly" : true
          },
          "hasPrivateKey" : {
            "type" : "boolean",
            "default" : false,
            "description" : "true = private key is available for the certificate",
            "readOnly" : true
          },
          "isPrivateKeyReadable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "true = private key is available and readable",
            "readOnly" : true
          },
          "keyStoreName" : {
            "type" : "string",
            "default" : "",
            "description" : "Name of the keystore from which the certificate was originally obtained.",
            "readOnly" : true
          },
          "keyStoreOrigin" : {
            "$ref" : "#/components/schemas/KeyStore_Origin"
          }
        },
        "readOnly" : true
      },
      "Cluster_Configuration" : {
        "type" : "object",
        "description" : "Defines settings for configuring the nodes in the cluster",
        "properties" : {
          "source" : {
            "$ref" : "#/components/schemas/Cluster_ConfigurationSource"
          }
        }
      },
      "Cluster_ConfigurationSource" : {
        "type" : "string",
        "default" : "coordinator",
        "description" : "Defines the source of the cluster configuration",
        "enum" : [ "coordinator", "node" ]
      },
      "Cluster_Mode" : {
        "type" : "string",
        "default" : "single",
        "enum" : [ "single", "cluster" ]
      },
      "Cluster_NodeState" : {
        "type" : "string",
        "default" : "init",
        "description" : "Defines the state for the cluster node.",
        "enum" : [ "unknown", "init", "connect", "wait", "boot", "locked", "up", "down" ]
      },
      "Cluster_NodeStatus" : {
        "type" : "object",
        "description" : "General status information about a cluster node.",
        "properties" : {
          "error" : {
            "$ref" : "#/components/schemas/Webservice_Result"
          },
          "isCoordinator" : {
            "type" : "boolean",
            "default" : false
          },
          "localAddress" : {
            "type" : "string",
            "default" : ""
          },
          "name" : {
            "type" : "string",
            "default" : ""
          },
          "state" : {
            "$ref" : "#/components/schemas/Cluster_NodeState"
          }
        },
        "readOnly" : true
      },
      "Cluster_Role" : {
        "type" : "string",
        "default" : "member",
        "description" : "Defines the role of a server node. A coordinator role defines the node that initializes the cluster and passes on the configuration to the other nodes. A node with a member role defines a normal working node that receives the configuration from a coordinator.",
        "enum" : [ "coordinator", "member" ]
      },
      "Cluster_Settings" : {
        "type" : "object",
        "description" : "Settings for the cluster",
        "properties" : {
          "configuration" : {
            "$ref" : "#/components/schemas/Cluster_Configuration"
          },
          "connectTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Defines the number of milliseconds that a server node waits when it joins the cluster (e.g. when waiting for a coordinator server node)."
          },
          "mode" : {
            "$ref" : "#/components/schemas/Cluster_Mode"
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the name of the cluster. If the server node has a coordinator role, the cluster is created under this name. If the server node has the role of a member, the node attempts to join the cluster with this name."
          },
          "namespace" : {
            "$ref" : "#/components/schemas/Namespace_Settings"
          },
          "nodeName" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the name for the node. If it is empty, the host name of the machine is used."
          },
          "role" : {
            "$ref" : "#/components/schemas/Cluster_Role"
          },
          "secretKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The encryption key used for communication in the cluster between the nodes. All nodes must use the same 64-digit hexadecimal encryption key. The encryption key is created when the cluster is initialized."
          },
          "stopOnError" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If 'true', the server node is also started if an error has occurred (e.g. when joining the cluster)."
          }
        }
      },
      "Cluster_Status" : {
        "type" : "object",
        "description" : "General information about the cluster status and detailed information about each node.",
        "properties" : {
          "error" : {
            "$ref" : "#/components/schemas/Webservice_Result"
          },
          "id" : {
            "type" : "string",
            "default" : ""
          },
          "isDemoMode" : {
            "type" : "boolean",
            "default" : false
          },
          "localAddress" : {
            "type" : "string",
            "default" : ""
          },
          "maximumAllowedNodes" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          },
          "namespace" : {
            "type" : "string",
            "default" : ""
          },
          "nodes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Cluster_NodeStatus"
            }
          },
          "settings" : {
            "$ref" : "#/components/schemas/Cluster_Settings"
          }
        },
        "readOnly" : true
      },
      "DLQ_CleanUpResponse" : {
        "type" : "object",
        "description" : "Number of entries removed",
        "properties" : {
          "removed" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }
      },
      "Document_File" : {
        "type" : "object",
        "description" : "Contains the file information about a document in the document storage",
        "properties" : {
          "documentId" : {
            "type" : "string",
            "default" : "",
            "description" : "Unique document id, which is required to access this document",
            "readOnly" : true
          },
          "error" : {
            "$ref" : "#/components/schemas/Webservice_Exception"
          },
          "fileExtension" : {
            "type" : "string",
            "default" : "",
            "description" : "File extension (without dot)",
            "readOnly" : true
          },
          "fileLastModified" : {
            "type" : "string",
            "default" : "",
            "description" : "Date of the last file modification",
            "readOnly" : true
          },
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "File name for the document (without extension)"
          },
          "filePath" : {
            "type" : "string",
            "default" : "",
            "description" : "File path for the document",
            "readOnly" : true
          },
          "fileSize" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "File size of the document (in bytes)",
            "readOnly" : true
          },
          "fileTypeGroups" : {
            "type" : "string",
            "default" : "",
            "description" : "An internal unique text that describes the group to which the file belongs",
            "readOnly" : true
          },
          "fileTypeId" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "An internal unique id for the file type",
            "readOnly" : true
          },
          "historyId" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "History id of the file entry",
            "readOnly" : true
          },
          "isFileLocked" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If set the document is currently locked",
            "readOnly" : true
          },
          "metadata" : {
            "$ref" : "#/components/schemas/Document_Metadata"
          },
          "mimeType" : {
            "type" : "string",
            "default" : "",
            "description" : "Mime type of the document",
            "readOnly" : true
          },
          "parentDocumentId" : {
            "type" : "string",
            "default" : "",
            "description" : "If available, the id of the parent document",
            "readOnly" : true
          },
          "password" : {
            "$ref" : "#/components/schemas/Document_Password"
          }
        },
        "readOnly" : true,
        "required" : [ "documentId" ]
      },
      "Document_FileCompress" : {
        "type" : "object",
        "description" : "Contains the instructions for creating the new archive document and the documents to be added to the archive.",
        "properties" : {
          "archiveFileName" : {
            "type" : "string",
            "default" : "archive.zip",
            "description" : "Sets the file name for the archive document."
          },
          "documentIdList" : {
            "type" : "array",
            "description" : "Sets the list of `documentId`s to be added to the archive document.",
            "items" : {
              "type" : "string",
              "description" : "Sets the list of `documentId`s to be added to the archive document."
            }
          },
          "fileFilter" : {
            "$ref" : "#/components/schemas/Document_FileFilter"
          },
          "storeArchive" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Defines whether the archive is saved in the document storage or only created temporarily."
          }
        }
      },
      "Document_FileExtract" : {
        "type" : "object",
        "description" : "Contains the instructions when an archive is to be extracted in the document storage.",
        "properties" : {
          "fileFilter" : {
            "$ref" : "#/components/schemas/Document_FileFilter"
          }
        }
      },
      "Document_FileFilter" : {
        "type" : "object",
        "description" : "Defines a file filter with a list of \"include\" and \"exclude\" filter rules. First, the \"include rules\" are applied. If a file matches, the \"exclude rules\" are applied. Only if both rules apply, the file will be passed through the filter.",
        "properties" : {
          "excludeRules" : {
            "type" : "array",
            "description" : "Sets the list of rules for files to be excluded (black list)",
            "items" : {
              "$ref" : "#/components/schemas/Document_FileFilterRule"
            }
          },
          "includeRules" : {
            "type" : "array",
            "description" : "Sets the list of rules for files to be included (white list)",
            "items" : {
              "$ref" : "#/components/schemas/Document_FileFilterRule"
            }
          }
        }
      },
      "Document_FileFilterRule" : {
        "type" : "object",
        "description" : "Defines a single filter rule for a file filter.",
        "properties" : {
          "rulePattern" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the pattern of this rule. The syntax depends on the selected `ruleType`."
          },
          "ruleType" : {
            "$ref" : "#/components/schemas/Document_FileFilterType"
          }
        }
      },
      "Document_FileFilterType" : {
        "type" : "string",
        "default" : "suffix",
        "description" : "Defines the type of rule and how to interpret the pattern.",
        "enum" : [ "suffix", "regex", "glob" ]
      },
      "Document_FileUpdate" : {
        "type" : "object",
        "description" : "Contains the update information for a document in the document storage",
        "properties" : {
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "File name for the document (without extension)"
          },
          "parentDocumentId" : {
            "type" : "string",
            "default" : "",
            "description" : "The id of the parent document",
            "readOnly" : true
          }
        }
      },
      "Document_HistoryEntry" : {
        "type" : "object",
        "description" : "A document history entry wrapping one manipulation state of a document.",
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When this is set to **true** the entry is still active and may be reverted to."
          },
          "dateTime" : {
            "type" : "string",
            "default" : "",
            "description" : "The creation time of the entry.",
            "example" : "2022-05-16T11:30:33+0200",
            "readOnly" : true
          },
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "The file name used for this entry.",
            "readOnly" : true
          },
          "id" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The unique history id in the server´s **document storage**.",
            "readOnly" : true
          },
          "operation" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the operation executed for the entry. (The name of the webservice - optionally followed by ':' and the name of the executed operation.)",
            "example" : "One of: DOCUMENT:UPLOAD, TOOLBOX:ROTATE, TOOLBOX:DELETE, TOOLBOX:SPLIT, TOOLBOX:OPTIONS, TOOLBOX:MERGE, TOOLBOX:WATERMARK, TOOLBOX:ATTACHMENT, TOOLBOX:EXTRACTION, TOOLBOX:IMAGES, TOOLBOX:FORMS, TOOLBOX:ANNOTATION, TOOLBOX:REDACT, TOOLBOX:DESCRIPTION, TOOLBOX:MOVE, TOOLBOX:OUTLINE, TOOLBOX:PORTFOLIO, TOOLBOX:ENCRYPTION, TOOLBOX:COMPRESS TOOLBOX:SCALE, PDFA, OCR, SIGNATURE"
          }
        },
        "required" : [ "id" ]
      },
      "Document_Info" : {
        "type" : "object",
        "description" : "Provides various information for the underlying document",
        "discriminator" : {
          "mapping" : {
            "form" : "#/components/schemas/Document_InfoForm"
          },
          "propertyName" : "infoType"
        },
        "properties" : {
          "infoType" : {
            "$ref" : "#/components/schemas/Document_InfoType"
          }
        },
        "required" : [ "infoType" ]
      },
      "Document_InfoForm" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Document_Info"
        } ],
        "description" : "Provides form information for the PDF document",
        "properties" : {
          "acroFormFields" : {
            "type" : "array",
            "description" : "All AcroForms fields with fully qualified name and, if XFA form, mapping to XFA template and XFA data.",
            "items" : {
              "$ref" : "#/components/schemas/Document_InfoFormField"
            },
            "readOnly" : true
          },
          "error" : {
            "$ref" : "#/components/schemas/Webservice_Exception"
          },
          "value" : {
            "type" : "string",
            "format" : "byte",
            "description" : "Requested content (BASE64 encoded)",
            "readOnly" : true
          }
        },
        "required" : [ "infoType" ]
      },
      "Document_InfoFormField" : {
        "type" : "object",
        "description" : "Provides field information for a single field in the form of the PDF document",
        "properties" : {
          "dataXPath" : {
            "type" : "string",
            "default" : "",
            "description" : "XPath to the entry in the XML data structure used for importing and exporting data to the form.",
            "readOnly" : true
          },
          "fullyQualifiedName" : {
            "type" : "string",
            "default" : "",
            "description" : "Fully qualified field name",
            "readOnly" : true
          },
          "xfaField" : {
            "$ref" : "#/components/schemas/Document_InfoFormXfaField"
          }
        },
        "readOnly" : true
      },
      "Document_InfoFormXfaField" : {
        "type" : "object",
        "description" : "Additional field information for a XFA field",
        "properties" : {
          "match" : {
            "$ref" : "#/components/schemas/Document_InfoFormXfaMatch"
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Name of the field in the XML data structure for the XFA field.",
            "readOnly" : true
          }
        },
        "readOnly" : true
      },
      "Document_InfoFormXfaMatch" : {
        "type" : "string",
        "default" : "once",
        "description" : "Type of match for an XFA field that describes how the XML data for the field should be referenced.",
        "enum" : [ "once", "global", "reference" ],
        "readOnly" : true
      },
      "Document_InfoType" : {
        "type" : "string",
        "default" : "form",
        "description" : "Selects the type of information to be returned for the document",
        "enum" : [ "form" ]
      },
      "Document_Metadata" : {
        "type" : "object",
        "description" : "Defines the metadata for the document depending of the field `metadataType`",
        "discriminator" : {
          "mapping" : {
            "archive" : "#/components/schemas/Document_MetadataArchive",
            "image" : "#/components/schemas/Document_MetadataImage",
            "pdf" : "#/components/schemas/Document_MetadataPdf"
          },
          "propertyName" : "metadataType"
        },
        "properties" : {
          "metadataType" : {
            "$ref" : "#/components/schemas/Document_MetadataType"
          }
        },
        "readOnly" : true,
        "required" : [ "metadataType" ],
        "x-webpdf-codegen" : {
          "isReadOnly" : "true"
        }
      },
      "Document_MetadataArchive" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Document_Metadata"
        } ],
        "description" : "The metadata that describes the archive document",
        "properties" : {
          "files" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Document_MetadataArchiveEntry"
            },
            "readOnly" : true
          }
        },
        "readOnly" : true,
        "required" : [ "metadataType" ]
      },
      "Document_MetadataArchiveEntry" : {
        "type" : "object",
        "description" : "Defines a file entry in the file list of the metadata for an archive document.",
        "properties" : {
          "lastModifiedDate" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Time at which the file was last changed",
            "readOnly" : true
          },
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "File name and path within the archive",
            "readOnly" : true
          },
          "size" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "File size in bytes",
            "readOnly" : true
          }
        },
        "readOnly" : true
      },
      "Document_MetadataImage" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Document_Metadata"
        } ],
        "description" : "The metadata that describes the image document",
        "properties" : {
          "images" : {
            "type" : "array",
            "description" : "A list of metadata directories, where each directory contains a key-value map with the respective entries of the directory.",
            "items" : {
              "$ref" : "#/components/schemas/Document_MetadataImageEntry"
            },
            "readOnly" : true
          }
        },
        "readOnly" : true,
        "required" : [ "metadataType" ]
      },
      "Document_MetadataImageEntry" : {
        "type" : "object",
        "description" : "Defines an image entry in the metadata for an image document.",
        "properties" : {
          "colorDepth" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Color depth in bits",
            "readOnly" : true
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Image height",
            "readOnly" : true
          },
          "isAnimated" : {
            "type" : "boolean",
            "default" : false,
            "description" : "True if it is an animated image",
            "readOnly" : true
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string",
                "description" : "Metadata dictionary of the image file format",
                "readOnly" : true,
                "x-webpdf-codegen" : {
                  "isReadOnly" : "true"
                }
              },
              "description" : "Metadata dictionary of the image file format",
              "readOnly" : true,
              "x-webpdf-codegen" : {
                "isReadOnly" : "true"
              }
            },
            "description" : "Metadata dictionary of the image file format",
            "readOnly" : true,
            "x-webpdf-codegen" : {
              "isReadOnly" : "true"
            }
          },
          "orientation" : {
            "$ref" : "#/components/schemas/Document_MetadataImageOrientation"
          },
          "unit" : {
            "$ref" : "#/components/schemas/Document_MetadataImageResolutionUnit"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Image width",
            "readOnly" : true
          },
          "xRes" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Horizontal resolution",
            "readOnly" : true
          },
          "yRes" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Vertical resolution",
            "readOnly" : true
          }
        },
        "readOnly" : true
      },
      "Document_MetadataImageOrientation" : {
        "type" : "string",
        "default" : "topLeft",
        "description" : "Defines the image orientation (EXIF orientation) for an image entry in the metadata of an image document.",
        "enum" : [ "topLeft", "topRight", "bottomRight", "bottomLeft", "leftTop", "rightTop", "rightBottom", "leftBottom" ],
        "readOnly" : true,
        "x-webpdf-codegen" : {
          "isReadOnly" : "true"
        }
      },
      "Document_MetadataImageResolutionUnit" : {
        "type" : "string",
        "default" : "inch",
        "description" : "Defines the resolution unit for an image entry in the metadata of an image document.",
        "enum" : [ "none", "inch", "centimeter" ],
        "readOnly" : true,
        "x-webpdf-codegen" : {
          "isReadOnly" : "true"
        }
      },
      "Document_MetadataPdf" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Document_Metadata"
        } ],
        "description" : "The metadata that describes the PDF document",
        "properties" : {
          "annotations" : {
            "$ref" : "#/components/schemas/Metadata_AnnotationsDocument"
          },
          "attachments" : {
            "$ref" : "#/components/schemas/Metadata_AttachmentsDocument"
          },
          "backgrounds" : {
            "$ref" : "#/components/schemas/Metadata_BackgroundsDocument"
          },
          "folders" : {
            "$ref" : "#/components/schemas/Metadata_FoldersDocument"
          },
          "form" : {
            "$ref" : "#/components/schemas/Metadata_FormDocument"
          },
          "headersFooters" : {
            "$ref" : "#/components/schemas/Metadata_HeadersFootersDocument"
          },
          "images" : {
            "$ref" : "#/components/schemas/Metadata_ImagesDocument"
          },
          "information" : {
            "$ref" : "#/components/schemas/Metadata_Information"
          },
          "pages" : {
            "$ref" : "#/components/schemas/Metadata_PagesDocument"
          },
          "portfolio" : {
            "$ref" : "#/components/schemas/Metadata_PortfolioDocument"
          },
          "security" : {
            "$ref" : "#/components/schemas/Metadata_Security"
          },
          "signatures" : {
            "$ref" : "#/components/schemas/Metadata_SignaturesDocument"
          },
          "transitions" : {
            "$ref" : "#/components/schemas/Metadata_TransitionsDocument"
          }
        },
        "required" : [ "information", "metadataType", "security" ]
      },
      "Document_MetadataType" : {
        "type" : "string",
        "default" : "pdf",
        "description" : "Selects the metadata structure depending on the type of document.\n\n- pdf = a PDF document\n\n- archive = a archive document\n\n- image = a image document\n\n",
        "enum" : [ "pdf", "archive", "image" ],
        "readOnly" : true,
        "x-webpdf-codegen" : {
          "isReadOnly" : "true"
        }
      },
      "Document_Password" : {
        "type" : "object",
        "description" : "Contains password information if it is a PDF document",
        "properties" : {
          "isCertificateSet" : {
            "type" : "boolean",
            "default" : false,
            "description" : "True, if an certificate is set",
            "readOnly" : true
          },
          "isOpenSet" : {
            "type" : "boolean",
            "default" : false,
            "description" : "True, if an open password is set",
            "readOnly" : true
          },
          "isPermissionSet" : {
            "type" : "boolean",
            "default" : false,
            "description" : "True, if an permission password is set",
            "readOnly" : true
          },
          "recipients" : {
            "type" : "array",
            "description" : "List of recipients which are allowed to open the document",
            "items" : {
              "$ref" : "#/components/schemas/Document_Recipient"
            },
            "readOnly" : true
          }
        },
        "readOnly" : true,
        "x-webpdf-codegen" : {
          "isReadOnly" : "true"
        }
      },
      "Document_Recipient" : {
        "type" : "object",
        "description" : "Contains recipient information",
        "properties" : {
          "issuer" : {
            "type" : "string",
            "default" : "",
            "description" : "The X.500 name of the recipient",
            "readOnly" : true
          },
          "serialNumber" : {
            "type" : "string",
            "default" : "",
            "description" : "The serial number of the recipient's X.500 certificate",
            "readOnly" : true
          }
        },
        "readOnly" : true
      },
      "Document_StreamingFormat" : {
        "type" : "string",
        "default" : "default",
        "enum" : [ "default", "html" ]
      },
      "KeyStore_Entry" : {
        "type" : "object",
        "description" : "A user keystore entry",
        "properties" : {
          "isKeyStoreAccessible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "true = Keystore is accessible and the content is readable",
            "readOnly" : true
          },
          "keyStoreName" : {
            "type" : "string",
            "default" : "",
            "description" : "Name of the keystore",
            "readOnly" : true
          },
          "keyStoreOrigin" : {
            "$ref" : "#/components/schemas/KeyStore_Origin"
          }
        },
        "readOnly" : true
      },
      "KeyStore_Origin" : {
        "type" : "string",
        "default" : "global",
        "description" : "Origin of the keystore",
        "enum" : [ "global", "local", "principal", "call" ],
        "readOnly" : true
      },
      "KeyStore_Password" : {
        "type" : "object",
        "description" : "Stores the password for a keystore and all passwords for accessing private keys in the keystore.",
        "properties" : {
          "aliases" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "keyStorePassword" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Metadata_Annotation" : {
        "type" : "object",
        "description" : "An element of this type describes an Annotation placed on a page of the document.",
        "properties" : {
          "appearance" : {
            "$ref" : "#/components/schemas/Metadata_Appearance"
          },
          "border" : {
            "$ref" : "#/components/schemas/Metadata_BorderStyle"
          },
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The main color of visible annotations. The color will be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "The annotation's textual contents or (should an annotation of this type not have such contents) it's description."
          },
          "drawStyle" : {
            "$ref" : "#/components/schemas/Metadata_DrawStyle"
          },
          "field" : {
            "$ref" : "#/components/schemas/Metadata_FieldAnnotation"
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "iconName" : {
            "type" : "string",
            "default" : "",
            "description" : "If the annotation selects an icon (Text annotations), this is the name of that icon."
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "line" : {
            "$ref" : "#/components/schemas/Metadata_Line"
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "markup" : {
            "$ref" : "#/components/schemas/Metadata_Markup"
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The annotation's name.\n\n**Important:** This name is optional and in the best case unique in the annotation's page context only. Don't use the name to select an annotation, always prefer selecting objects by object ID, when possible."
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the annotation. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of the page the annotation is placed on.",
            "minimum" : 0
          },
          "popup" : {
            "$ref" : "#/components/schemas/Metadata_Popup"
          },
          "positions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Positions"
            }
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The annotation's rotation."
          },
          "subType" : {
            "type" : "string",
            "default" : "",
            "description" : "The type of an annotation is always \"Annot\", this is the sub type of the annotation determining the actual behavior and function of the annotation. (i.e. Text, Link, Widget etc.)"
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Metadata_AnnotationPoint" : {
        "type" : "object",
        "properties" : {
          "point" : {
            "type" : "object",
            "description" : "Defines one Point of the shape positioning the annotation on the page.",
            "properties" : {
              "x" : {
                "type" : "number",
                "format" : "float",
                "default" : 0,
                "description" : "The x coordinate in points."
              },
              "y" : {
                "type" : "number",
                "format" : "float",
                "default" : 0,
                "description" : "The y coordinate in points."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Metadata_Positions"
        }
      },
      "Metadata_AnnotationRectangle" : {
        "type" : "object",
        "properties" : {
          "rectangle" : {
            "type" : "object",
            "description" : "An upright rectangle positioning the annotation on the page.",
            "properties" : {
              "height" : {
                "type" : "number",
                "format" : "float",
                "default" : 0,
                "description" : "The height of the rectangle in points."
              },
              "width" : {
                "type" : "number",
                "format" : "float",
                "default" : 0,
                "description" : "The width of the rectangle in points."
              },
              "x" : {
                "type" : "number",
                "format" : "float",
                "default" : 0,
                "description" : "The x coordinate in points."
              },
              "y" : {
                "type" : "number",
                "format" : "float",
                "default" : 0,
                "description" : "The y coordinate in points."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Metadata_Positions"
        }
      },
      "Metadata_AnnotationsDocument" : {
        "type" : "object",
        "description" : "Lists the annotations, that have been found in the document.",
        "properties" : {
          "annotation" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Annotation"
            }
          }
        }
      },
      "Metadata_Appearance" : {
        "type" : "object",
        "description" : "Defines a set of attributes concerning the appearance of the annotation."
      },
      "Metadata_Attachment" : {
        "type" : "object",
        "description" : "This type is used to describe an attachment, that has been embedded in a PDF file. The attachment itself may have connected document information, in that case the \"document\" element will be set.",
        "properties" : {
          "compressedSize" : {
            "type" : "number",
            "format" : "double",
            "default" : 0,
            "description" : "The compressed byte size of the attachment.",
            "minimum" : 0
          },
          "description" : {
            "type" : "string",
            "default" : "",
            "description" : "The file description of the attachment."
          },
          "documentType" : {
            "$ref" : "#/components/schemas/Metadata_Document"
          },
          "folderId" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The numeric ID of the folder containing the attachment. (This is only relevant for PDF Collections/Portfolios - otherwise attachments may not be arranged in a folder tree.)"
          },
          "mimeType" : {
            "type" : "string",
            "default" : "",
            "description" : "The attachment's MIME type."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The file name of the attachment."
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The position number of the attachment in the embedded files of the document.",
            "minimum" : 1
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the attachment. **Info:** A PDF objects ID consists of two number, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The page (if any), the attachment is placed on.",
            "minimum" : 0
          },
          "size" : {
            "type" : "number",
            "format" : "double",
            "default" : 0,
            "description" : "The byte size of the attachment.",
            "minimum" : 0
          },
          "sort" : {
            "$ref" : "#/components/schemas/Metadata_SortAttachment"
          }
        }
      },
      "Metadata_AttachmentSortEntry" : {
        "type" : "object",
        "description" : "Defines a collection item for an attachment or folder.",
        "properties" : {
          "key" : {
            "type" : "string",
            "default" : "",
            "description" : "The key of the collection item."
          },
          "prefix" : {
            "type" : "string",
            "default" : "",
            "description" : "An optional prefix that (if not empty) shall precede the value in a viewer. This however shall not influence the order of this entry during sorting and otherwise behaves neutral."
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "The value of the collection item."
          }
        }
      },
      "Metadata_AttachmentsDocument" : {
        "type" : "object",
        "description" : "Lists the attachments embedded into this document.",
        "properties" : {
          "attachment" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Attachment"
            }
          }
        }
      },
      "Metadata_Author" : {
        "type" : "object",
        "description" : "An element of this type is used to enumerate the persons, that created a document.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the person creating the document."
          }
        }
      },
      "Metadata_BackgroundContent" : {
        "type" : "object",
        "description" : "An element of this type defines a background for a page of the document.",
        "properties" : {
          "bounds" : {
            "$ref" : "#/components/schemas/Metadata_Rectangle"
          },
          "isImage" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the background is using an image resource. (Otherwise it is unicolor)"
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the background. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "onprint" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether the background shall be visible in printouts of the document."
          },
          "onscreen" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether the background shall be visible in Readers."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The page the background shall be set for.",
            "minimum" : 0
          },
          "pieceInfo" : {
            "$ref" : "#/components/schemas/Metadata_PieceInfoBackgroundContent"
          }
        },
        "required" : [ "bounds" ]
      },
      "Metadata_BackgroundsDocument" : {
        "type" : "object",
        "description" : "Lists the background definitions for pages of the document.",
        "properties" : {
          "background" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_BackgroundContent"
            }
          }
        }
      },
      "Metadata_BorderStyle" : {
        "type" : "object",
        "description" : "Selects a border style for a drawn shape's outline.",
        "properties" : {
          "dashPattern" : {
            "type" : "string",
            "default" : "",
            "description" : "The dash pattern (array) of a dashed border. The dash array contains the unit lengths of alternating dashes and gaps, that shall be cycled through along the length of the border."
          },
          "dashPhase" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The phase of the dash pattern."
          },
          "effectIntensity" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The intensity of a possibly set cloud effect, in a range from 0 to 2."
          },
          "effectStyle" : {
            "type" : "string",
            "default" : "",
            "description" : "The border effect to apply to the border shape.\n\n*   S = Apply no border effects.\n*   C = Apply a cloud pattern to the border shape."
          },
          "interiorColor" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The interior (fill) color for the shape.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "style" : {
            "type" : "string",
            "default" : "S",
            "description" : "The style of the shapes border.\n\n*   S = Solid\n*   D = Dashed\n*   B = Beveled\n*   I = Inset\n*   U = Underline\n\n**Important:** Further custom styles may be contained and shall default to a solid border if unknown."
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 1,
            "description" : "The border width/line thickness in points.",
            "minimum" : 0
          }
        }
      },
      "Metadata_Boxes" : {
        "type" : "object",
        "description" : "This type is used to describe the boxes of a page.",
        "properties" : {
          "artBox" : {
            "$ref" : "#/components/schemas/Metadata_Rectangle"
          },
          "bleedBox" : {
            "$ref" : "#/components/schemas/Metadata_Rectangle"
          },
          "cropBox" : {
            "$ref" : "#/components/schemas/Metadata_Rectangle"
          },
          "mediaBox" : {
            "$ref" : "#/components/schemas/Metadata_Rectangle"
          },
          "trimBox" : {
            "$ref" : "#/components/schemas/Metadata_Rectangle"
          }
        },
        "required" : [ "mediaBox" ]
      },
      "Metadata_CommentRelation" : {
        "type" : "object",
        "description" : "Adds a textual comment to the selected annotation.",
        "properties" : {
          "comment" : {
            "type" : "string",
            "default" : "",
            "description" : "The textual comment to add."
          },
          "objectID" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the annotation. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          }
        }
      },
      "Metadata_CustomDescription" : {
        "type" : "object",
        "description" : "An element of this type defines some custom attribute to be listed in the document's metadata.",
        "properties" : {
          "key" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the custom attribute."
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "The value of the custom attribute."
          }
        }
      },
      "Metadata_Description" : {
        "type" : "object",
        "description" : "The document's description contains a number of metadata attributes, that further describe the author, creation, contents etc of the document.",
        "properties" : {
          "application" : {
            "type" : "string",
            "default" : "",
            "description" : "The application used to create the document."
          },
          "author" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Author"
            }
          },
          "creationDate" : {
            "type" : "string",
            "default" : "",
            "description" : "The date of the document's creation."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "If the document has been converted to a PDF from another format, this is the name of the application, that created the original document."
          },
          "custom" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_CustomDescription"
            }
          },
          "keywords" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Keyword"
            }
          },
          "modificationDate" : {
            "type" : "string",
            "default" : "",
            "description" : "The date of the most recent modification of the document."
          },
          "producer" : {
            "type" : "string",
            "default" : "",
            "description" : "If the document has been converted to a PDF from another format, this is the name of the application, that converted it."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "The document's subject."
          },
          "title" : {
            "type" : "string",
            "default" : "",
            "description" : "The document's title."
          }
        }
      },
      "Metadata_Document" : {
        "type" : "object",
        "description" : "A document element that describes the content and properties of the PDF document as metadata.",
        "properties" : {
          "annotations" : {
            "$ref" : "#/components/schemas/Metadata_AnnotationsDocument"
          },
          "attachments" : {
            "$ref" : "#/components/schemas/Metadata_AttachmentsDocument"
          },
          "backgrounds" : {
            "$ref" : "#/components/schemas/Metadata_BackgroundsDocument"
          },
          "folders" : {
            "$ref" : "#/components/schemas/Metadata_FoldersDocument"
          },
          "form" : {
            "$ref" : "#/components/schemas/Metadata_FormDocument"
          },
          "headersFooters" : {
            "$ref" : "#/components/schemas/Metadata_HeadersFootersDocument"
          },
          "images" : {
            "$ref" : "#/components/schemas/Metadata_ImagesDocument"
          },
          "information" : {
            "$ref" : "#/components/schemas/Metadata_Information"
          },
          "pages" : {
            "$ref" : "#/components/schemas/Metadata_PagesDocument"
          },
          "portfolio" : {
            "$ref" : "#/components/schemas/Metadata_PortfolioDocument"
          },
          "security" : {
            "$ref" : "#/components/schemas/Metadata_Security"
          },
          "signatures" : {
            "$ref" : "#/components/schemas/Metadata_SignaturesDocument"
          },
          "transitions" : {
            "$ref" : "#/components/schemas/Metadata_TransitionsDocument"
          }
        },
        "required" : [ "information", "security" ]
      },
      "Metadata_DrawStyle" : {
        "type" : "object",
        "description" : "Selects the draw style of an drawable shape.",
        "properties" : {
          "drawMode" : {
            "type" : "string",
            "default" : "stroke",
            "description" : "Selects the draw style of an drawable shape.\n\n*   fill = fill the shape\n*   stroke = draw the outlines of the shape\n*   fillAndStroke = draw the outlines and fill the shape",
            "enum" : [ "fill", "stroke", "fillAndStroke" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_DrawMode"
            }
          }
        }
      },
      "Metadata_Field" : {
        "type" : "object",
        "description" : "Lists the properties of a PDF form field.",
        "properties" : {
          "alternateName" : {
            "type" : "string",
            "default" : "",
            "description" : "The alternate name of the form field."
          },
          "annotation" : {
            "type" : "array",
            "description" : "Selects the visible representation (widget annotation) for the form field.",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Annotation"
            }
          },
          "content" : {
            "type" : "string",
            "default" : "",
            "description" : "The textual content of the form field. A single string or a comma-separated list of string values for list types."
          },
          "fullyQualifiedName" : {
            "type" : "string",
            "default" : "",
            "description" : "The fully qualified name of the form field."
          },
          "isRichText" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the field contains rich text formatted content."
          },
          "mappingName" : {
            "type" : "string",
            "default" : "",
            "description" : "The mapping name of the form field."
          },
          "multiSelect" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the form field allows multiple items to be seleted."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The partial name of the form field."
          },
          "noExport" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the form field shall not be included in exports of the document's form data."
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the form field. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "readOnly" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the form field's contents may be displayed but not altered."
          },
          "required" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the form field must be filled in."
          },
          "signature" : {
            "$ref" : "#/components/schemas/Metadata_Signature"
          },
          "subType" : {
            "type" : "string",
            "default" : "",
            "description" : "The implementation name of the the form field."
          },
          "type" : {
            "type" : "string",
            "default" : "",
            "description" : "Indicates the type of the form field.\n\n*   Btn = Button\n*   Tx = Textfield\n*   Ch = Choicefield\n*   Sig = Signaturefield"
          },
          "value" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_FormValueStyle"
            }
          }
        }
      },
      "Metadata_FieldAnnotation" : {
        "type" : "object",
        "description" : "Defines a set of attributes for field annotations.",
        "properties" : {
          "alternateName" : {
            "type" : "string",
            "default" : "",
            "description" : "The alternate name of the annotation´s field."
          },
          "mappingName" : {
            "type" : "string",
            "default" : "",
            "description" : "The mapping name of the annotation´s field."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The partial name of the annotation´s field."
          },
          "signature" : {
            "$ref" : "#/components/schemas/Metadata_Signature"
          },
          "type" : {
            "type" : "string",
            "default" : "",
            "description" : "Indicates the type of the annotation´s field.\n\n*   Btn = Button\n*   Tx = Textfield\n*   Ch = Choicefield\n*   Sig = Signaturefield"
          }
        }
      },
      "Metadata_Folder" : {
        "type" : "object",
        "description" : "Defines a folder for a PDF collection (portfolio).",
        "properties" : {
          "creationDate" : {
            "type" : "string",
            "default" : "",
            "description" : "The date of the folder's creation."
          },
          "id" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The numeric folder ID of the portfolio folder."
          },
          "modificationDate" : {
            "type" : "string",
            "default" : "",
            "description" : "The date of the last modification of the folder."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the folder."
          },
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "The path the folder is positioned at."
          },
          "sort" : {
            "$ref" : "#/components/schemas/Metadata_SortFolder"
          }
        }
      },
      "Metadata_FoldersDocument" : {
        "type" : "object",
        "description" : "Lists the folders contained in a PDF collection (portfolio), that are used to structure the embedded attachments.",
        "properties" : {
          "folder" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Folder"
            }
          },
          "initialFile" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the initially visible attachment.\n\n**Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          }
        }
      },
      "Metadata_Font" : {
        "type" : "object",
        "description" : "Defines a font format for a displayable page content.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the used font."
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "default" : 10,
            "description" : "The size of the font."
          },
          "underline" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the text shall be underlined."
          }
        }
      },
      "Metadata_FooterHeaderFooter" : {
        "type" : "object",
        "description" : "Selects the values for a page footer.",
        "properties" : {
          "center" : {
            "type" : "string",
            "default" : "",
            "description" : "The value displayed at the center of the footer."
          },
          "left" : {
            "type" : "string",
            "default" : "",
            "description" : "The value displayed at the left of the footer."
          },
          "right" : {
            "type" : "string",
            "default" : "",
            "description" : "The value displayed at the right of the footer."
          }
        }
      },
      "Metadata_FormDocument" : {
        "type" : "object",
        "description" : "Describes the properties of the document's form. (Should the document contain a form.)",
        "properties" : {
          "defaultAppearance" : {
            "type" : "string",
            "default" : "",
            "description" : "If present, this contains the default appearance of the form's fields. This shall be a string containing graphics and text state operators for example defining text colors, sizes etc."
          },
          "field" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Field"
            }
          },
          "formType" : {
            "type" : "string",
            "default" : "none",
            "description" : "When set to another value than \"none\", the document does contain a PDF form in the hereby given format.\n\n*   none = The document does not contain a form.\n*   acroForm = The document contains a standard PDF Acroform.\n*   staticXFA = The document contains a \"XML Forms Architecture\" form with a fixed layout (static).\n*   dynamicXFA = The document contains a \"XML Forms Architecture\" form with an adaptable/interactive layout (dynamic).",
            "enum" : [ "none", "acroForm", "staticXFA", "dynamicXFA" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_FormsFormat"
            }
          },
          "needAppearances" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to \"true\" the displaying Application shall generate appearances for all widgets defining the document's form."
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the form.\n\n**Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          }
        }
      },
      "Metadata_FormValueStyle" : {
        "type" : "object",
        "description" : "Selects parameters for the handling of a form fields values.",
        "properties" : {
          "display" : {
            "type" : "string",
            "default" : "",
            "description" : "The displayable value."
          },
          "export" : {
            "type" : "string",
            "default" : "",
            "description" : "The exportable value."
          },
          "isDefault" : {
            "type" : "boolean",
            "default" : false,
            "description" : "True, if the given value is the default of the connected form field."
          }
        }
      },
      "Metadata_GroupRelation" : {
        "type" : "object",
        "description" : "Group with the selected annotation.",
        "properties" : {
          "objectID" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the annotation. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          }
        }
      },
      "Metadata_HeaderFooter" : {
        "type" : "object",
        "description" : "An element of this type defines header and footer values for a page of the document.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "",
            "description" : "The text of headers and footers color.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "font" : {
            "$ref" : "#/components/schemas/Metadata_Font"
          },
          "footer" : {
            "$ref" : "#/components/schemas/Metadata_FooterHeaderFooter"
          },
          "header" : {
            "$ref" : "#/components/schemas/Metadata_HeaderHeaderFooter"
          },
          "margin" : {
            "$ref" : "#/components/schemas/Metadata_Margin"
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the header/footer definition. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The page headers/footers shall be defined for.",
            "minimum" : 0
          }
        },
        "required" : [ "font", "margin" ]
      },
      "Metadata_HeaderHeaderFooter" : {
        "type" : "object",
        "description" : "Selects the values for a page header.",
        "properties" : {
          "center" : {
            "type" : "string",
            "default" : "",
            "description" : "The value displayed at the center of the header."
          },
          "left" : {
            "type" : "string",
            "default" : "",
            "description" : "The value displayed at the left of the header."
          },
          "right" : {
            "type" : "string",
            "default" : "",
            "description" : "The value displayed at the right of the header."
          }
        }
      },
      "Metadata_HeadersFootersDocument" : {
        "type" : "object",
        "description" : "Lists the header/footer definitions for pages of the document.",
        "properties" : {
          "headerFooter" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_HeaderFooter"
            }
          }
        }
      },
      "Metadata_Image" : {
        "type" : "object",
        "description" : "Defines an image resource of a PDF document.",
        "properties" : {
          "bitsPerComponent" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of bits used to encode one color component.",
            "minimum" : 0
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The height of the image in points."
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the image resource definition. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of the page containing the image resource.",
            "minimum" : 0
          },
          "suffix" : {
            "type" : "string",
            "default" : "",
            "description" : "Returns the file type suffix of the image. (This suffix depends on the used image encoding and therefore is highly reliable.)"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The width of the image in points."
          }
        }
      },
      "Metadata_ImagesDocument" : {
        "type" : "object",
        "description" : "Lists the image resources used in the document.",
        "properties" : {
          "image" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Image"
            }
          }
        }
      },
      "Metadata_Information" : {
        "type" : "object",
        "description" : "Summarizes structural information and settings for the PDF document.",
        "properties" : {
          "attachments" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of attachments contained in the document.",
            "minimum" : 0
          },
          "description" : {
            "$ref" : "#/components/schemas/Metadata_Description"
          },
          "docMDP" : {
            "type" : "string",
            "default" : "none",
            "description" : "A document \"Modification Detection and Prevention\" may be set, that defines which modifications of the document are allowed and which modifications would render the signature invalid.\n\n*   none = The document is unprotected - modify it as you please.\n*   noChangesAllowed = Any modifications of the document would render the signatures invalid.\n*   formFillingSignatures = You may fill in forms and further sign the document.\n*   formFillingSignaturesAndAnnotations = Form filling, signing and adding annotations are allowed.",
            "enum" : [ "none", "noChangesAllowed", "formFillingSignatures", "formFillingSignaturesAnnotations" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_DocMdp"
            }
          },
          "encrypted" : {
            "type" : "boolean",
            "default" : false,
            "description" : "This will be set to \"true\" for a document, that is either password protected or certificate encrypted."
          },
          "fileSize" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "The byte size of the document.",
            "maximum" : 9223372036854775807,
            "minimum" : 0
          },
          "formType" : {
            "type" : "string",
            "default" : "none",
            "description" : "When set to another value than \"none\", the document does contain a PDF form in the hereby given format.\n\n*   none = The document does not contain a form.\n*   acroForm = The document contains a standard PDF Acroform.\n*   staticXFA = The document contains a \"XML Forms Architecture\" form with a fixed layout (static).\n*   dynamicXFA = The document contains a \"XML Forms Architecture\" form with an adaptable/interactive layout (dynamic).",
            "enum" : [ "none", "acroForm", "staticXFA", "dynamicXFA" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_FormsFormat"
            }
          },
          "initialPage" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "The first page, that shall be displayed when opening the document in a PDF Reader."
          },
          "initialView" : {
            "type" : "string",
            "default" : "none",
            "description" : "Defines which sub-windows will be opened when the PDF document is opened.\n\n*   none = No special view\n*   outlines = Opens the \"Bookmarks\" tab\n*   thumbnails = Opens the \"Thumbnails\" tab\n*   fullscreen = Opens the document in full screen mode",
            "enum" : [ "none", "outlines", "thumbnails", "fullscreen", "layers", "attachments" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_InitialView"
            }
          },
          "language" : {
            "type" : "string",
            "default" : "",
            "description" : "The natural language of the document. This could either contain the language name or a language tag."
          },
          "magnification" : {
            "type" : "string",
            "default" : "fitVisible",
            "description" : "The initial page zoom settings of a document. When opening the document in a Reader, this zoom settings shall be used.\n\n*   none = Uses the application's default view.\n*   fitWidth = Page width.\n*   fitPage = Page dimensions.\n*   fitHeight = Page height.\n*   fitVisible = Page content width.\n*   fitActual = Uses the original page dimensions (100% zoom factor).\n*   zoom = Sets an explicit magnification value.",
            "enum" : [ "none", "fitWidth", "fitVisible", "fitHeight", "fitPage", "fitActual", "zoom" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_Magnification"
            }
          },
          "magnificationZoom" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "If a magnification \"zoom\" is selected for this document, this is the actual percentage the pages of the document shall be zoomed to, when opening the document in a PDF Reader.",
            "minimum" : 0
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the document's catalog. (root)\n\n**Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "pageLayout" : {
            "type" : "string",
            "default" : "singlePage",
            "description" : "The set initial page layout of a document. When opening the document in a Reader, this layout shall be selected to display pages.\n\n*   singlePage = One page at a time.\n*   oneColumn = One continuous column of pages.\n*   twoColumnLeft = The pages in two columns, with odd-numbered pages on the left.\n*   twoColumnRight = The pages in two columns, with odd-numbered pages on the right.\n*   twoPageLeft = Display the pages two at a time, with odd-numbered pages on the left.\n*   twoPageRight = Display the pages two at a time, with odd-numbered pages on the right.",
            "enum" : [ "singlePage", "oneColumn", "twoColumnLeft", "twoColumnRight", "twoPageLeft", "twoPageRight" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_PageLayout"
            }
          },
          "pages" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of pages contained in the document.",
            "minimum" : 0
          },
          "pdfa" : {
            "$ref" : "#/components/schemas/Metadata_Pdfa"
          },
          "portfolio" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Will be set to \"true\" for a \"PDF collection\" (Portfolio), that serves as the container for other documents."
          },
          "signatures" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of signatures contained in the document."
          },
          "version" : {
            "type" : "string",
            "default" : "",
            "description" : "The version name of the PDF standard the document claims compatibility with."
          },
          "viewerPreferences" : {
            "$ref" : "#/components/schemas/Metadata_ViewerPreferences"
          }
        },
        "required" : [ "description", "pdfa", "viewerPreferences" ]
      },
      "Metadata_Keyword" : {
        "type" : "object",
        "description" : "An element of this type defines a keyword the document can be associated with.",
        "properties" : {
          "keyword" : {
            "type" : "string",
            "default" : "",
            "description" : "A keyword the document can be associated with."
          }
        }
      },
      "Metadata_Line" : {
        "type" : "object",
        "description" : "Defines a set of attributes for Line annotations.",
        "properties" : {
          "captionHorizontalOffset" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The horizontal offset of the caption's leading letter in relation to it's normal position."
          },
          "captionPositioning" : {
            "type" : "string",
            "default" : "",
            "description" : "The positioning method for the caption of the line. Possible values are \"Inline\" (superimposed) and \"Top\" (above the line)."
          },
          "captionVerticalOffset" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The vertical offset of the caption's leading letter in relation to it's normal position."
          },
          "endStyle" : {
            "type" : "string",
            "default" : "",
            "description" : "Selects the Line ending style at the end of the line. Possible values are: Square, Circle, Diamond, OpenArrow, ClosedArrow, None, Butt, ROpenArrow, RClosedArrow, Slash"
          },
          "leaderLineExtensionLength" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "A non-negative number that shall represent the length of leader line extensions that extend from the line proper 180 degrees from the leader lines. (0 = no leader line extensions)"
          },
          "leaderLineLength" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The length of leader lines that extend from each endpoint of the line perpendicular to the line itself. A positive value shall mean that the leader lines appear in the direction that is clockwise when traversing the line from its starting point to its ending point; a negative value shall indicate the opposite direction.(0 = no leader lines)"
          },
          "leaderLineOffsetLength" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "A non-negative number that shall represent the length of the leader line offset, which is the amount of empty space between the endpoints of the annotation and the beginning of the leader lines."
          },
          "showCaption" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true the line shall display a textual caption."
          },
          "startStyle" : {
            "type" : "string",
            "default" : "",
            "description" : "Selects the Line ending style at the start of the line."
          }
        }
      },
      "Metadata_Margin" : {
        "type" : "object",
        "description" : "Defines a margin for a displayble page content.",
        "properties" : {
          "bottom" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The bottom margin in points."
          },
          "left" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The left margin in points."
          },
          "right" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The right margin in points."
          },
          "top" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The top margin in points."
          }
        }
      },
      "Metadata_MarkRelation" : {
        "type" : "object",
        "description" : "Change the marked state of the selected annotation.",
        "properties" : {
          "marked" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this is set to true, the selected annotation has been marked, otherwise it has been unmarked."
          },
          "objectID" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the annotation. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          }
        }
      },
      "Metadata_Markup" : {
        "type" : "object",
        "description" : "Defines a set of attributes for text markup annotations.",
        "properties" : {
          "creationDate" : {
            "type" : "string",
            "default" : "",
            "description" : "The date of the annotation's creation. This string will contain the date in ASN.1 standard format. (D:YYYYMMDDHHmmSSOHH'mm)"
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the annotation's author."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "The annotation's intents. Depending on the annotation sub type the intents value shall serve further purposes."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "The annotations opacity as a percentage, where 100 is fully oqaque and 0 is fully transparent.",
            "maximum" : 100,
            "minimum" : 0
          },
          "relation" : {
            "$ref" : "#/components/schemas/Metadata_RelationMarkup"
          },
          "richContents" : {
            "type" : "string",
            "default" : "",
            "description" : "A richtext string containing defining style and contents of the annotation. (This String shall conform to the richtext conventions of the XML Forms Specification (XFA))."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "The annotation's subject."
          }
        }
      },
      "Metadata_PagePages" : {
        "type" : "object",
        "properties" : {
          "boxes" : {
            "$ref" : "#/components/schemas/Metadata_Boxes"
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The height of this page in points.",
            "minimum" : 0
          },
          "label" : {
            "type" : "string",
            "default" : "",
            "description" : "The page label of this page."
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The page number of this page.",
            "minimum" : 0
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the page. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The rotation of this page in degrees.",
            "minimum" : 0
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The width of this page in points.",
            "minimum" : 0
          }
        },
        "required" : [ "boxes" ]
      },
      "Metadata_PagesDocument" : {
        "type" : "object",
        "description" : "Lists and describes the properties of the document's pages.",
        "properties" : {
          "page" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_PagePages"
            }
          }
        }
      },
      "Metadata_Password" : {
        "type" : "object",
        "description" : "An element of this type shall contain information concerning the used encryption and the used encryption key.",
        "properties" : {
          "hasAsymmetricEncryption" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this is set to \"true\", the document is asymmetrically encrypted and a matching private key is required to decrypt it. Otherwise the document is symetrically encrypted and requires a password."
          },
          "hasOpenPassword" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this is set to \"true\", the document is encrypted and requires a password to be opened."
          },
          "hasPermissionPassword" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this is set to \"true\", the document has a change protection and a password is required to claim ownership and modify the document."
          },
          "keyAlgorithm" : {
            "type" : "string",
            "default" : "none",
            "description" : "The algorithm used for encryption.\n\n*   none = The document is not encrypted.\n*   aes = The document has been encrypted using the Advanced Encryption Standard.\n*   rc4 = The document has been encrypted using the RC4 cipher.",
            "enum" : [ "none", "aes", "rc4" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_KeyAlgorithm"
            }
          },
          "keyLength" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The Bit length of the key used for encryption.",
            "minimum" : 0
          }
        }
      },
      "Metadata_Pdfa" : {
        "type" : "object",
        "description" : "The PDF/A standard the document claims to be conforming to.",
        "properties" : {
          "conformance" : {
            "type" : "string",
            "default" : "",
            "description" : "The PDF/A conformance level."
          },
          "part" : {
            "type" : "string",
            "default" : "",
            "description" : "The ISO-19005 part number."
          }
        }
      },
      "Metadata_PieceInfoBackgroundContent" : {
        "type" : "object",
        "description" : "Properties listed in the Adobe piece info.",
        "properties" : {
          "absoluteScaling" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When set to true the page shall be scaled relative to it's own original dimensions, when set to false, it shall be scaled relative to the page dimensions."
          },
          "alignment" : {
            "type" : "string",
            "default" : "top_left",
            "description" : "Uses one of multiple preset positions in order to position the background on the page.\n\n*   custom = Disable the use of a preset position.\n*   top\\_left = Positions the background in the top left corner.\n*   top\\_center = Positions the background in the centre on the top margin.\n*   top\\_right = Positions the background in the top right corner.\n*   center\\_left = Positions the background at the centre of the page, to the left.\n*   center\\_center = Positions the background at the centre of the page.\n*   center\\_right = Positions the background at the centre of the page, to the right.\n*   bottom\\_left = Positions the background in the bottom left corner.\n*   bottom\\_center = Positions the background in the centre on the bottom margin.\n*   bottom\\_right = Positions the background in the bottom right corner.",
            "enum" : [ "top_left", "top_center", "top_right", "center_left", "center_center", "center_right", "bottom_left", "bottom_center", "bottom_right" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_Alignment"
            }
          },
          "color" : {
            "type" : "string",
            "default" : "#FFFFFF",
            "description" : "The color of a unicolor background.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "horizOffset" : {
            "type" : "number",
            "format" : "float",
            "default" : 0.0,
            "description" : "The horizontal offset in relation to the backgrounds bas position."
          },
          "opacity" : {
            "type" : "number",
            "format" : "float",
            "default" : 1.0,
            "description" : "The opacity of the background, as a percentage in the range 0.0 (fully transparent) to 1.0 (fully opaque).",
            "maximum" : 1,
            "minimum" : 0
          },
          "rotation" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The rotation of the background.",
            "maximum" : 360,
            "minimum" : 0
          },
          "scale" : {
            "type" : "number",
            "format" : "float",
            "default" : 1,
            "description" : "The scaling of the background.",
            "minimum" : 0
          },
          "unit" : {
            "type" : "string",
            "default" : "",
            "description" : "The Adobe unit used to display offsets in readers. (millimeters, pica, point etc)."
          },
          "vertOffset" : {
            "type" : "number",
            "format" : "float",
            "default" : 0.0,
            "description" : "The vertical offset in relation to the backgrounds bas position."
          }
        }
      },
      "Metadata_Popup" : {
        "type" : "object",
        "description" : "Defines a set of attributes concerning the annotation's popup.",
        "properties" : {
          "isOpen" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the popup shall be displayed, when opening the document."
          },
          "rectangle" : {
            "$ref" : "#/components/schemas/Metadata_Rectangle"
          }
        },
        "required" : [ "rectangle" ]
      },
      "Metadata_PortfolioDocument" : {
        "type" : "object",
        "description" : "Describes the properties of a PDF collection (portfolio). (Should the document be a PDF collection.)",
        "properties" : {
          "schema" : {
            "$ref" : "#/components/schemas/Metadata_SchemaPortfolio"
          },
          "sort" : {
            "$ref" : "#/components/schemas/Metadata_SortPortfolio"
          }
        }
      },
      "Metadata_Positions" : {
        "type" : "object",
        "description" : "Used to define some sort of position on a PDF page.",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Metadata_AnnotationRectangle"
        }, {
          "$ref" : "#/components/schemas/Metadata_AnnotationPoint"
        } ]
      },
      "Metadata_Rectangle" : {
        "type" : "object",
        "description" : "Defines a rectangular area/box.",
        "properties" : {
          "height" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The height of the rectangle in points."
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The width of the rectangle in points."
          },
          "x" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The x coordinate in points."
          },
          "y" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The y coordinate in points."
          }
        }
      },
      "Metadata_RelationMarkup" : {
        "type" : "object",
        "description" : "Selects the relation of this annotation to other annotations.",
        "properties" : {
          "comment" : {
            "$ref" : "#/components/schemas/Metadata_CommentRelation"
          },
          "group" : {
            "$ref" : "#/components/schemas/Metadata_GroupRelation"
          },
          "mark" : {
            "$ref" : "#/components/schemas/Metadata_MarkRelation"
          },
          "state" : {
            "$ref" : "#/components/schemas/Metadata_ReplyStateRelation"
          }
        }
      },
      "Metadata_ReplyStateRelation" : {
        "type" : "object",
        "description" : "Changes the reply state of the selected annotation.",
        "properties" : {
          "objectID" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the annotation. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "state" : {
            "type" : "string",
            "default" : "none",
            "description" : "The set reply state of a commented annotation.\n\n*   accepted = The user agrees with the change.\n*   rejected = The user disagrees with the change.\n*   cancelled = The change has been cancelled.\n*   completed = The change has been completed.\n*   none = The user did not set a state.",
            "enum" : [ "accepted", "rejected", "cancelled", "completed", "none" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_ReplyState"
            }
          }
        }
      },
      "Metadata_SchemaEntry" : {
        "type" : "object",
        "description" : "Defines a sort schema for a PDF collection (portfolio).",
        "properties" : {
          "key" : {
            "type" : "string",
            "default" : "",
            "description" : "The key of the sort schema."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the sort schema."
          },
          "order" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The order number of the sort schema."
          },
          "type" : {
            "type" : "string",
            "default" : "string",
            "description" : "The type of the sort schemas value.",
            "enum" : [ "string", "date", "number" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_SchemaValue"
            }
          },
          "visible" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this sort schema shall be visible in views."
          }
        }
      },
      "Metadata_SchemaPortfolio" : {
        "type" : "object",
        "description" : "Lists sort schemas for a PDF collection (portfolio).",
        "properties" : {
          "entry" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_SchemaEntry"
            }
          }
        }
      },
      "Metadata_SchemaSortEntry" : {
        "type" : "object",
        "description" : "Defines a sort entry for a PDF collection (portfolio).",
        "properties" : {
          "ascending" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether sorting should be in ascending or descending order."
          },
          "key" : {
            "type" : "string",
            "default" : "",
            "description" : "The key of the sort entry."
          }
        }
      },
      "Metadata_Security" : {
        "type" : "object",
        "description" : "An element of this type shall contain information concerning the security settings, manipulation protection and used password of a PDF document.",
        "properties" : {
          "canAssemble" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" the document can be rearranged (e.g., pages can be deleted, inserted, and rotated)."
          },
          "canExtractContent" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" content can be extracted (copied) from the document."
          },
          "canExtractForAccessibility" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" content can be extracted (copied) for accessibility purposes."
          },
          "canFillInForm" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" form fields can be filled out and the document can be signed."
          },
          "canModify" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" changes to the document are permitted."
          },
          "canModifyAnnotations" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" comments can be added to the document and deleted from the document."
          },
          "canPrint" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" the document can be printed."
          },
          "canPrintHighRes" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" the document can be printed at high resolution levels."
          },
          "password" : {
            "$ref" : "#/components/schemas/Metadata_Password"
          }
        }
      },
      "Metadata_Signature" : {
        "type" : "object",
        "description" : "An element of this type represents the properties of a signature.",
        "properties" : {
          "contact" : {
            "type" : "string",
            "default" : "",
            "description" : "The contact information provided by the signer."
          },
          "date" : {
            "type" : "string",
            "default" : "",
            "description" : "The date the signature has been created."
          },
          "filter" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the preferred signature handler used for validation. (Adobe.PPKLite, EntrustPPKEF etc.)"
          },
          "location" : {
            "type" : "string",
            "default" : "",
            "description" : "The location the document has been signed at."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the person or authority signing the document."
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the signature. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "reason" : {
            "type" : "string",
            "default" : "",
            "description" : "The reason for signing the document."
          },
          "subFilter" : {
            "type" : "string",
            "default" : "",
            "description" : "The encoding of the signature value, that shall also be used for validation. (adbe.x509.rsa\\_sha1, adbe.pkcs7.sha1, etc.)"
          }
        }
      },
      "Metadata_SignaturesDocument" : {
        "type" : "object",
        "description" : "Lists a document's signatures.",
        "properties" : {
          "signature" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Signature"
            }
          }
        }
      },
      "Metadata_SortAttachment" : {
        "type" : "object",
        "description" : "Lists the collection items of this attachment.",
        "properties" : {
          "entry" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_AttachmentSortEntry"
            }
          }
        }
      },
      "Metadata_SortFolder" : {
        "type" : "object",
        "description" : "Lists the collection items of this folder.",
        "properties" : {
          "entry" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_AttachmentSortEntry"
            }
          }
        }
      },
      "Metadata_SortPortfolio" : {
        "type" : "object",
        "description" : "Lists sort types for a PDF collection (portfolio).",
        "properties" : {
          "entry" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_SchemaSortEntry"
            }
          }
        }
      },
      "Metadata_Transition" : {
        "type" : "object",
        "description" : "Defines a page transition for the full screen mode of the document.",
        "properties" : {
          "autoScroll" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether or not the page is automatically flipped after a short period."
          },
          "direction" : {
            "type" : "string",
            "default" : "none",
            "description" : "The direction of the transition animation (provided that it can be applied to the animation).\n\n*   leftToRight = From left to right\n*   bottomToTop = From bottom to top\n*   rightToLeft = From right to left\n*   topToBottom = From top to bottom\n*   topLeftToBottomRight = From top left to bottom right\n*   none = Use the default value for the animation",
            "enum" : [ "leftToRight", "bottomToTop", "rightToLeft", "topToBottom", "topLeftToBottomRight", "none" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_TransitionDirection"
            }
          },
          "duration" : {
            "type" : "number",
            "format" : "float",
            "default" : 1,
            "description" : "Selects the duration in seconds, that the animation shall be played for.",
            "minimum" : 0
          },
          "flyAreaOpaque" : {
            "type" : "boolean",
            "default" : false,
            "description" : "For a fly animation, this determines whether or not the opacity shall stay constantly opaque during the animation."
          },
          "flyScale" : {
            "type" : "number",
            "format" : "float",
            "default" : 1,
            "description" : "For a fly animation, this determines the initial scale of the page, when flying in."
          },
          "objectKey" : {
            "type" : "string",
            "default" : "",
            "description" : "The object ID of the transition definition. **Info:** A PDF object ID consists of two numbers, where the first number selects the object's number and the second the \"generation\" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The page a transition shall be defined for.",
            "minimum" : 0
          },
          "style" : {
            "type" : "string",
            "default" : "none",
            "description" : "The style of transition animation.\n\n*   blinds = Crossfades\n*   box = Crossfades in a rectangular pattern\n*   cover = Covers\n*   dissolve = Dissolves\n*   fade = Fades\n*   fly = Page flies in\n*   glitter = Page dissolves and is replaced\n*   push = Page is pushed out\n*   split = Splits page\n*   uncover = Uncovers page\n*   wipe = Wipes page\n*   none = No special effect",
            "enum" : [ "blinds", "box", "cover", "dissolve", "fade", "fly", "glitter", "push", "split", "uncover", "wipe", "none" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_TransitionStyle"
            }
          }
        }
      },
      "Metadata_TransitionsDocument" : {
        "type" : "object",
        "description" : "Lists the page transitions for the full screen mode of the document.",
        "properties" : {
          "transition" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Metadata_Transition"
            }
          }
        }
      },
      "Metadata_ViewerPreferences" : {
        "type" : "object",
        "description" : "Lists a set of further settings and definitions, that a Reader may honor, when displaying the document.",
        "properties" : {
          "centerWindow" : {
            "type" : "boolean",
            "default" : false,
            "description" : "The Reader's window shall be positioned at the center of the screen, when opening the document."
          },
          "displayDocTitle" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Instead of the file name the reader shall display the title of the document in it's title bar."
          },
          "duplex" : {
            "type" : "string",
            "default" : "none",
            "description" : "The duplex settings initially suggested when opening the Reader's print dialog.\n\n*   none = The Reader shall use it's default suggestion.\n*   simplex = The Reader shall suggest simplex printing.\n*   duplexFlipShortEdge = The Reader shall suggest duplex printing, flipping pages over the shorter edge.\n*   duplexFlipLongEdge = The Reader shall suggest duplex printing, flipping pages over the longer edge.",
            "enum" : [ "none", "simplex", "duplexFlipShortEdge", "duplexFlipLongEdge" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_Duplex"
            }
          },
          "fitWindow" : {
            "type" : "boolean",
            "default" : false,
            "description" : "The dimensions of the Reader's window shall adapt to the first displayed page of the document."
          },
          "hideMenuBar" : {
            "type" : "boolean",
            "default" : false,
            "description" : "The Reader's menu bar shall be hidden, when opening the document."
          },
          "hideToolbar" : {
            "type" : "boolean",
            "default" : false,
            "description" : "The Reader's toolbars shall be hidden, when opening the document."
          },
          "hideWindowUI" : {
            "type" : "boolean",
            "default" : false,
            "description" : "The Reader's navigation controls (such as scrollbars) shall be hidden, when opening the document."
          },
          "nonFullScreenPageMode" : {
            "type" : "string",
            "default" : "none",
            "description" : "When displaying a document in windowed mode, the Reader shall show the selected panel.\n\n*   none = No panel shall be opened.\n*   outlines = The document's outlines shall be displayed.\n*   thumbnails = The document's page thumbnails shall be shown.\n*   optionalContents = document's layers (OCGs - Optional Content Groups) shall be displayed.",
            "enum" : [ "none", "outlines", "thumbnails", "optionalContents" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_NonFullScreenPageMode"
            }
          },
          "numCopies" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "The number of copies initially suggested, when opening the Reader's print dialog.",
            "minimum" : 1
          },
          "printArea" : {
            "type" : "string",
            "default" : "cropBox",
            "description" : "Selects the visible box, when displaying the document.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "mediaBox", "cropBox", "bleedBox", "trimBox", "artBox" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_BoxSelection"
            }
          },
          "printClip" : {
            "type" : "string",
            "default" : "cropBox",
            "description" : "Selects the visible box, when displaying the document.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "mediaBox", "cropBox", "bleedBox", "trimBox", "artBox" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_BoxSelection"
            }
          },
          "printPageRange" : {
            "type" : "string",
            "default" : "",
            "description" : "Selects the page range, that shall initially be suggested for printing, when opening the Reader's print dialog. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). To specify \"all pages,\" use an asterisk (\"\\*\")."
          },
          "printScaling" : {
            "type" : "string",
            "default" : "readerDefault",
            "description" : "The print scaling initially suggested when opening the Reader's print dialog.\n\n*   readerDefault = The Reader shall use it's default suggestion.\n*   byPDFSize = The Reader shall suggest to not scale the document during printing.",
            "enum" : [ "readerDefault", "noPrintScaling" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_PrintScale"
            }
          },
          "printTraySelection" : {
            "type" : "string",
            "default" : "readerDefault",
            "description" : "The print tray selection initially suggested when opening the Reader's print dialog.\n\n*   readerDefault = The Reader shall use it's default suggestion.\n*   byPDFSize = The Reader shall select a print tray, that matches the PDF's page dimensions.",
            "enum" : [ "readerDefault", "byPDFSize" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_PrintTraySelection"
            }
          },
          "textDirection" : {
            "type" : "string",
            "default" : "leftToRight",
            "description" : "Selects the predominant document's text writing/reading direction.\n\n*   leftToRight or\n*   rightToLeft",
            "enum" : [ "leftToRight", "rightToLeft" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_TextDirection"
            }
          },
          "viewArea" : {
            "type" : "string",
            "default" : "cropBox",
            "description" : "Selects the visible box, when displaying the document.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "mediaBox", "cropBox", "bleedBox", "trimBox", "artBox" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_BoxSelection"
            }
          },
          "viewClip" : {
            "type" : "string",
            "default" : "cropBox",
            "description" : "Selects the visible box, when displaying the document.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "mediaBox", "cropBox", "bleedBox", "trimBox", "artBox" ],
            "x-webpdf-codegen" : {
              "enumName" : "Metadata_BoxSelection"
            }
          }
        }
      },
      "Namespace_Settings" : {
        "type" : "object",
        "description" : "Namespace parts used to build prefixes",
        "properties" : {
          "app" : {
            "type" : "string",
            "default" : "webpdf",
            "description" : "Application identifier",
            "example" : "webpdf"
          },
          "cluster" : {
            "type" : "string",
            "default" : "",
            "description" : "Optional cluster discriminator for blue/green or canary",
            "example" : "blue"
          },
          "env" : {
            "type" : "string",
            "default" : "",
            "description" : "Optional environment name",
            "example" : "prod"
          },
          "org" : {
            "type" : "string",
            "default" : "",
            "description" : "Optional organization/vendor identifier",
            "example" : "acme"
          },
          "region" : {
            "type" : "string",
            "default" : "",
            "description" : "Optional region identifier",
            "example" : "eu1"
          },
          "version" : {
            "type" : "string",
            "default" : "v10.0",
            "description" : "Key schema version",
            "example" : "v10.0"
          }
        },
        "required" : [ "app", "version" ]
      },
      "OAuth_OIDCMetadata" : {
        "type" : "object",
        "description" : "OpenID configuration provider metadata",
        "properties" : {
          "authorization_endpoint" : {
            "type" : "string",
            "default" : ""
          },
          "claims_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "grant_types_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "id_token_signing_alg_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "issuer" : {
            "type" : "string",
            "default" : ""
          },
          "jwks_uri" : {
            "type" : "string",
            "default" : ""
          },
          "response_types_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "scopes_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "subject_types_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "token_endpoint" : {
            "type" : "string",
            "default" : ""
          },
          "userinfo_endpoint" : {
            "type" : "string",
            "default" : ""
          }
        },
        "readOnly" : true,
        "required" : [ "authorization_endpoint", "id_token_signing_alg_values_supported", "issuer", "jwks_uri", "response_types_supported", "subject_types_supported", "token_endpoint" ]
      },
      "Operation_ActionEvent" : {
        "type" : "object",
        "description" : "A common base type for action events, that shall be triggered by selecting the outline entry.",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Operation_GoToDestinationAction"
        }, {
          "$ref" : "#/components/schemas/Operation_LaunchApplicationAction"
        }, {
          "$ref" : "#/components/schemas/Operation_URIAction"
        }, {
          "$ref" : "#/components/schemas/Operation_SoundAction"
        }, {
          "$ref" : "#/components/schemas/Operation_HideAction"
        }, {
          "$ref" : "#/components/schemas/Operation_NamedAction"
        }, {
          "$ref" : "#/components/schemas/Operation_SubmitFormAction"
        }, {
          "$ref" : "#/components/schemas/Operation_ResetFormAction"
        }, {
          "$ref" : "#/components/schemas/Operation_ImportDataAction"
        }, {
          "$ref" : "#/components/schemas/Operation_JavaScriptAction"
        }, {
          "$ref" : "#/components/schemas/Operation_SetOCGStateAction"
        }, {
          "$ref" : "#/components/schemas/Operation_TransitionAction"
        }, {
          "$ref" : "#/components/schemas/Operation_GoTo3DViewAction"
        }, {
          "$ref" : "#/components/schemas/Operation_ThreadAction"
        } ]
      },
      "Operation_AddBackground" : {
        "type" : "object",
        "description" : "Adds a background image or a solid color background layer to the document (the \"colorBackground\" and \"imageBackground\" elements are mutually exclusive, i.e., you must select one or the other). A document is not allowed to have more than one background layer.",
        "properties" : {
          "colorBackground" : {
            "$ref" : "#/components/schemas/Operation_ColorBackground"
          },
          "imageBackground" : {
            "$ref" : "#/components/schemas/Operation_ImageBackground"
          }
        }
      },
      "Operation_AddBarcode" : {
        "type" : "object",
        "description" : "Used to add a new barcode to the document.",
        "properties" : {
          "aztec" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_AztecBarcode"
            }
          },
          "codabar" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_CodabarBarcode"
            }
          },
          "code128" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Code128Barcode"
            }
          },
          "code39" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Code39Barcode"
            }
          },
          "datamatrix" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_DataMatrixBarcode"
            }
          },
          "ean13" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Ean13Barcode"
            }
          },
          "ean8" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Ean8Barcode"
            }
          },
          "itf" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_ItfBarcode"
            }
          },
          "outputFormat" : {
            "type" : "string",
            "default" : "pdf",
            "description" : "Defines the output format for the barcode generation. The resulting document will be created by this webservice, where selected image formats will completly ignore a possibly given PDF source document and will only contain the barcode image.\n\n**Important:** This parameter is for internal use only. Please only set this value to anything other than \"pdf\", if you are really sure that you need to do so.",
            "enum" : [ "pdf", "bmp", "jpg", "png", "tif" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_BarcodeCreateOutputFormat"
            }
          },
          "pdf417" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Pdf417Barcode"
            }
          },
          "qrcode" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_QrBarcode"
            }
          },
          "qrswiss" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_QrSwissPaymentBarcode"
            }
          },
          "upca" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_UpcaBarcode"
            }
          }
        }
      },
      "Operation_AddComment" : {
        "type" : "object",
        "description" : "Used to add comments to existing annotations.\n\n**Important:** All of the following operations will add a (hidden) TextAnnotation, that serves as a container for the comment/reply.\n\n**Important:** Comment/Reply annotations themselves may be selected as targets for further replies/comments.",
        "properties" : {
          "changeAnnotationState" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_ReplyStateAnnotation"
            }
          },
          "markAnnotation" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_MarkedStateAnnotation"
            }
          },
          "replyTo" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_ReplyToAnnotation"
            }
          }
        }
      },
      "Operation_AddHeaderFooter" : {
        "type" : "object",
        "description" : "Adds a header and footer to the document . A document is not allowed to have more than one header and footer definition.",
        "properties" : {
          "headerFooterContent" : {
            "$ref" : "#/components/schemas/Operation_HeaderFooter"
          }
        }
      },
      "Operation_AddPageTransitions" : {
        "type" : "object",
        "properties" : {
          "pageTransition" : {
            "$ref" : "#/components/schemas/Operation_Transition"
          }
        }
      },
      "Operation_AddSignature" : {
        "type" : "object",
        "description" : "Used to add a new signature to the PDF document.",
        "properties" : {
          "appearance" : {
            "$ref" : "#/components/schemas/Operation_AppearanceAdd"
          },
          "appendSignature" : {
            "type" : "boolean",
            "default" : false,
            "description" : "**Deprecated:** Usage of this parameter is discouraged, as it is no longer in use."
          },
          "certificationLevel" : {
            "type" : "string",
            "default" : "noChanges",
            "description" : "This parameter defines the level of the signature.\n\n*   none = Sign, but do not certify, the document, i.e., additional signatures and changes will be allowed.\n*   noChanges = Certify the document and do not allow any additional changes anymore.\n*   formFillingAndSignatures = Certify the document, but allow for fields to be filled out.\n*   formFillingAndSignaturesAndAnnotations = Certify the document, but allow for fields to be filled out and annotations to be added.",
            "enum" : [ "none", "noChanges", "formFillingAndSignatures", "formFillingAndSignaturesAndAnnotations" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_CertificationLevel"
            }
          },
          "contact" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies the name of the person signing the document."
          },
          "fieldName" : {
            "type" : "string",
            "default" : "Signature1",
            "description" : "Defines the name of the field (in the document) in which the signature will be saved. If a field name that is not unique is declared, then a unique name will be automatically created."
          },
          "keyName" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the name of the key (alias) that is to be used to sign the document. This option overwrites the server's configuration setting. Additional information can be found in the \"Keystore\" chapter."
          },
          "keyPassword" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the password required in order to access the private key with \"keyName.\" This option overwrites the server's configuration setting. Additional information can be found in the \"Keystore\" chapter."
          },
          "location" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies the location of the signature."
          },
          "reason" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies the reason why the document is being signed."
          },
          "signer" : {
            "$ref" : "#/components/schemas/Operation_SignerAdd"
          }
        }
      },
      "Operation_AddToolboxAnnotation" : {
        "type" : "object",
        "description" : "The add element can be used to define one or multiple annotations, that shall be added to the document.",
        "properties" : {
          "circle" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_CircleAnnotation"
            }
          },
          "freetext" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_FreeTextAnnotation"
            }
          },
          "line" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_LineAnnotation"
            }
          },
          "markup" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_MarkupAnnotation"
            }
          },
          "redact" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_RedactAnnotation"
            }
          },
          "rubberstamp" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_RubberStampAnnotation"
            }
          },
          "square" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_SquareAnnotation"
            }
          },
          "text" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_TextAnnotation"
            }
          }
        }
      },
      "Operation_AddToolboxAttachment" : {
        "type" : "object",
        "description" : "Used to add an attachment to the document.",
        "properties" : {
          "file" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_FileAttachment"
            }
          }
        }
      },
      "Operation_AddToolboxOutline" : {
        "type" : "object",
        "description" : "Can be used to add entries to the content structure of a PDF document (its bookmarks/outline). The entries need to be specified as a flat list without any nesting. The expected tree structure is produced when the paths specified in the \"item\" elements are resolved. The entries will be generated in line with their order in the \"add\" element. Parent elements that are specified in the path but are not yet found in the content structure will also be added automatically. Nodes already found in the content structure will be updated with the values contained here. The \"add\" element adds new elements to an existing content structure; it does not create an entirely new structure. Accordingly, it is not necessary to specify the existing entries that should not be edited. The element paths are made of the visible names of the entries in the content structure separated with forward slashes (/). If the document does not have a content structure yet, it will be generated with the specified content. This element can have any number of \"item\" elements you want.",
        "properties" : {
          "item" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Item"
            }
          }
        }
      },
      "Operation_AnalyzePdfa" : {
        "type" : "object",
        "description" : "Used to define the parameters for the PDF/A conversion.",
        "properties" : {
          "level" : {
            "type" : "string",
            "default" : "3b",
            "description" : "Specifies the compliance level when creating or validating PDF/A documents (as specified in ISO 19005).",
            "enum" : [ "1a", "1b", "2a", "2b", "2u", "3a", "3b", "3u" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfaLevel"
            }
          }
        }
      },
      "Operation_AnnotationSelection" : {
        "type" : "object",
        "description" : "The annotation element can be used to select document annotations that should be modified. The name of the relevant \"annotations\" container will depend on the definition context. The container can contain 0 to n \"annotation\" elements.",
        "properties" : {
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The index for the annotation in the page's annotation directory. This value is an alternative to the annotation name and does not have to be set if an annotation name is specified.",
            "minimum" : 0
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the annotation in the page's annotation directory. This value is an alternative to the annotation index and does not have to be set if an annotation index is specified."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "The page number of the page where the annotation is found.",
            "minimum" : 1
          }
        }
      },
      "Operation_AppearanceAdd" : {
        "type" : "object",
        "description" : "Used to define the signature's visual appearance.",
        "properties" : {
          "identifier" : {
            "type" : "string",
            "default" : "",
            "description" : "Text that should be displayed in the signature's right-hand side text field. If a value is not specified, the field will display the name of the signatory and the name parts of the certificate (please refer to `<identifierElements>` further below)."
          },
          "identifierElements" : {
            "$ref" : "#/components/schemas/Operation_SignatureIdentifier"
          },
          "image" : {
            "$ref" : "#/components/schemas/Operation_SignatureImage"
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Name that will be displayed in the signature's left-hand side area. If no value is specified, the name of the signer is displayed in this area (CN name part from the certificate) if `showCommonName` is enabled."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Defines the page on which the signature is to be displayed.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_SignaturePosition"
          },
          "showCommonName" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the certificate name (CN) of the certificate in the signature's left-hand side area. A set `name` always has priority over the setting of this option."
          }
        }
      },
      "Operation_AppearanceFileData" : {
        "type" : "object",
        "description" : "Used to define a resource as the source for an annotation's appearance generation.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_AppearanceImage" : {
        "type" : "object",
        "description" : "Used to define an image resource for an annotation's appearance generation.",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/Operation_AppearanceFileData"
          },
          "preserveAspectRatio" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Specifies whether the aspect ratio should be maintained when scaling the annotation."
          }
        },
        "required" : [ "data" ]
      },
      "Operation_AppearancePdf" : {
        "type" : "object",
        "description" : "Used to define a PDF page as the resource for an annotation's appearance generation.",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/Operation_AppearanceFileData"
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "The page that shall be used as a visual representation of the annotation.",
            "minimum" : 1
          },
          "preserveAspectRatio" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Specifies whether the aspect ratio should be maintained when scaling the annotation."
          }
        },
        "required" : [ "data" ]
      },
      "Operation_AppearanceSource" : {
        "type" : "object",
        "description" : "Used to set the data source for the visible appearance of an annotation.\n\n**Important:** If this element is present, this shall always take precedence for the appearance generation.",
        "properties" : {
          "image" : {
            "$ref" : "#/components/schemas/Operation_AppearanceImage"
          },
          "pdf" : {
            "$ref" : "#/components/schemas/Operation_AppearancePdf"
          },
          "svg" : {
            "$ref" : "#/components/schemas/Operation_AppearanceSvg"
          }
        }
      },
      "Operation_AppearanceSvg" : {
        "type" : "object",
        "description" : "Used to define a svg resource for an annotation's appearance generation.",
        "properties" : {
          "aspectRatioAxis" : {
            "type" : "string",
            "default" : "x",
            "description" : "Selects a predefined axis for a coordinate system.",
            "enum" : [ "x", "y" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Axis"
            }
          },
          "data" : {
            "$ref" : "#/components/schemas/Operation_AppearanceFileData"
          },
          "preserveAspectRatio" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Specifies whether the aspect ratio should be maintained when scaling the annotation."
          }
        },
        "required" : [ "data" ]
      },
      "Operation_AttachmentFileData" : {
        "type" : "object",
        "description" : "Contains the file to be attached in \"Base64 encoded\" format.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_AztecBarcode" : {
        "type" : "object",
        "description" : "A aztec barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "errorCorrection" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 7,
            "description" : "Used to adjust the error correction level for generated Aztec Codes. The higher the level, the more error-resistant the barcode, ensuring that damaged codes will still be readable. A percentage value of one to one hundred can be entered.",
            "maximum" : 100,
            "minimum" : 1
          },
          "layers" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the number of layers that the generated Aztec Code should use. The higher the number, the larger the resulting barcode and its capacity.\n\n*   \"-4\" to \"-1\" = Compact Aztec Code with a minimum capacity of 13 digits or 12 letters and an area of 15 x 15 pixels.\n*   \"0\" = Standard Aztec Code that will be optimized in order to use the smallest possible of layers for the value that is being encoded.\n*   \"1\" to \"32\" = Standard Aztec Code with a maximum capacity of 3832 digits or 3067 letters and an area of 151 x 151 pixels.",
            "maximum" : 32,
            "minimum" : -4
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_BackgroundBaseSettings" : {
        "type" : "object",
        "description" : "Defines basic configuration settings for generating background layers.",
        "properties" : {
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "A percentage value that is used to specify the background layer's transparency (100 percent means fully visible).",
            "maximum" : 100,
            "minimum" : 0
          },
          "pages" : {
            "$ref" : "#/components/schemas/Operation_PagesBackgroundBaseSettings"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_PositionBackgroundBaseSettings"
          },
          "relativeToPage" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If true, the background layer will not be scaled relative to its own original size, but rather to the dimensions of the page containing it."
          },
          "replaceExisting" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, an existing background layer will be automatically deleted and replaced with the new one. If false, an existing background layer will cause the operation to be aborted."
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "A value between 0 and 360 degrees that is used to specify the background layer's rotation.",
            "maximum" : 360,
            "minimum" : 0
          },
          "scale" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "A percentage value used to specify the scaling for the background layer. This scaling can either be relative to the background layer's original size or to the dimensions of the page containing it (depends on the \"relativeToPage\" parameter)",
            "minimum" : 0
          },
          "visibility" : {
            "$ref" : "#/components/schemas/Operation_VisibilityBackgroundBaseSettings"
          }
        }
      },
      "Operation_BackgroundFileData" : {
        "type" : "object",
        "description" : "Used to define an image for generating a background. The image itself is passed with the `<data>` element.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_BackgroundToolboxOptions" : {
        "type" : "object",
        "description" : "Adds a background layer to the document or removes it (the \"add\" and \"remove\" elements are mutually exclusive, i.e., you must select one or the other).",
        "properties" : {
          "add" : {
            "$ref" : "#/components/schemas/Operation_AddBackground"
          },
          "remove" : {
            "$ref" : "#/components/schemas/Operation_RemoveBackground"
          }
        }
      },
      "Operation_Barcode" : {
        "type" : "object",
        "description" : "The \"Barcode\" web service can be used to generate and recognize barcodes in PDF documents. The `<add>` element is used to add barcodes, while the `<detect>` element is used to read existing barcodes.",
        "properties" : {
          "add" : {
            "$ref" : "#/components/schemas/Operation_AddBarcode"
          },
          "detect" : {
            "$ref" : "#/components/schemas/Operation_DetectBarcode"
          }
        }
      },
      "Operation_BarcodeOperation" : {
        "type" : "object",
        "properties" : {
          "barcode" : {
            "$ref" : "#/components/schemas/Operation_Barcode"
          },
          "billing" : {
            "$ref" : "#/components/schemas/Operation_Billing"
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PdfPassword"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_Settings"
          }
        },
        "required" : [ "barcode" ]
      },
      "Operation_BarcodeSelection" : {
        "type" : "object",
        "description" : "This section is used to control the recognition process and configure settings that apply only to specific barcode types.",
        "properties" : {
          "allowedLengths" : {
            "type" : "string",
            "default" : "",
            "description" : "If this value is set, it will limit the allowed lengths for encoded values. In other words, barcodes with a length that is not listed will be ignored. (Example: \"13,8,25\")"
          },
          "barcode39CheckDigit" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to \"true\", the system will assume that all recognized Code 39 barcodes contain a correct check digit."
          },
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents are stored."
          },
          "codabarStartEndDigits" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to \"true\", the start and stop symbols of recognized Codabar barcodes will be read instead of removed during recognition."
          },
          "formats" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the list of barcodes (comma-separated) that should be searched for. There must be at least one barcode format here; otherwise, no search will be run. The names are the same as those used in `<add>`, i.e., the following are the barcode names available:\n\n*   qrcode\n*   aztec\n*   codabar\n*   code128\n*   code39\n*   datamatrix\n*   ean13\n*   ean8\n*   itf\n*   pdf417\n*   upca"
          },
          "gs1" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to \"true\", the system will assume that all recognized barcodes are GS1-compliant barcodes, and the way all processes behave and work will be adjusted accordingly (for instance, the way in which the FNC1 character is handled for Code 128)"
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range within which barcodes should be scanned. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "pureBarcode" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to \"true\", the system will assume that the source document being scanned (limited by `<scanArea>`) does not contain any elements other than the barcode. This option can speed up the recognition process significantly. If, however, this option is enabled and there are elements other than a barcode, recognition may fail completely."
          },
          "resolution" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 200,
            "description" : "Used to select the resolution for the recognition operation. Depending on the barcode's format and quality, higher or lower values may yield better results (in any case, higher values will slow down processing).",
            "minimum" : 1
          },
          "scanArea" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "tryHarder" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to \"true\", more computing time will be invested in order to guarantee successful recognition. For example, the system will also scan for barcodes along the vertical axis."
          },
          "upcEanExtensions" : {
            "type" : "string",
            "default" : "",
            "description" : "If this value is set, it will limit the allowed lengths for encoded EAN and UPC Extensions. In other words, barcodes with an Extension length that is not listed will be ignored. (Example: \"2,5\")"
          }
        },
        "required" : [ "formats" ]
      },
      "Operation_BaseToolbox" : {
        "type" : "object",
        "description" : "The base type for all Toolbox webservice operations.",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Operation_ToolboxAnnotation"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxAttachment"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxDelete"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxDescription"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxExtraction"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxForms"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxImage"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxMerge"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxMove"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxOptions"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxPrint"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxRotate"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxSecurity"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxSplit"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxWatermark"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxXmp"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxOutline"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxRedact"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxPortfolio"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxScale"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxCompress"
        }, {
          "$ref" : "#/components/schemas/Operation_ToolboxTranscribe"
        } ]
      },
      "Operation_Billing" : {
        "type" : "object",
        "description" : "The `billing` element can be used to affect the values that are written to the server's statistics logs (called \"billing logs\") for the web service call.",
        "properties" : {
          "applicationName" : {
            "type" : "string",
            "default" : "external",
            "description" : "A free text that specifies the name of the application calling the web service. This attribute makes it possible to analyze the logs with regard to specific applications, for example.\n\n**Important:** If the web service is called by an external application that does not set its own value for \"applicationName\", a value of \"external\" will be entered automatically. If the web service is called from the server's portal, a value of \"portal\" will be entered automatically."
          },
          "customerCode" : {
            "type" : "string",
            "default" : "",
            "description" : "A free text that identifies the customer calling the web service. This attribute makes it possible to analyze the logs with regard to specific customers, for example."
          },
          "userName" : {
            "type" : "string",
            "default" : "",
            "description" : "A free text that specifies the name of the user calling the web service. This attribute makes it possible to analyze the logs with regard to specific users, for example.\n\n**Important:** If the web service is called from the server's portal and a user is logged in, the user's name will be entered automatically."
          }
        }
      },
      "Operation_Blacken" : {
        "type" : "object",
        "description" : "If this element is set, all redact annotations placed in the document will be converted into actual content redactions. Content obscured by such an annotation will be irretrievably removed from the page content.",
        "properties" : {
          "collisionRatio" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 30,
            "description" : "Specifies a percentage value by which a letter must be obscured at least to be considered blackened and thus removed.",
            "maximum" : 100,
            "minimum" : 0
          },
          "redactAnnotations" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to \"true\", all blackened annotations will be removed. Annotations are removed completely even if they are only truncated."
          },
          "redactImages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, all blackened image data will be removed. For images, the entire image is not removed, but the obscured area is replaced by the redaction."
          },
          "redactPaths" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, all blackened character paths are removed. The paths are adjusted so that the blackened section is removed from the path construction."
          },
          "redactTexts" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to \"true\", all texts are blackened letter by letter."
          }
        }
      },
      "Operation_Bmp" : {
        "type" : "object",
        "description" : "Defines a target BMP image format.",
        "properties" : {
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "This parameter is used to define the image's DPI resolution. The larger the value, the larger the image's x, y resolution. In addition, the larger the DPI resolution, the larger the size of the image file.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum height of the exported image. 0 = No restriction",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum width of the exported image. 0 = No restriction",
            "minimum" : 0
          }
        }
      },
      "Operation_Border" : {
        "type" : "object",
        "description" : "Defines a border for a rendered geometrical element.",
        "properties" : {
          "borderStyle" : {
            "type" : "string",
            "default" : "solid",
            "description" : "Defines the border style.\n\n*   solid = A solid line border.\n*   dashed = A dashed border using the given dash and gap length.",
            "enum" : [ "solid", "dashed" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_BorderStyle"
            }
          },
          "borderWidth" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Defines the border width/strength/thickness.",
            "minimum" : 0
          },
          "dashLength" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 3,
            "description" : "The interval length of dashes for a border with a \"dashed\" style.",
            "minimum" : 1
          },
          "gapLength" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 3,
            "description" : "The interval length of gaps for a border with a \"dashed\" style.",
            "minimum" : 1
          }
        }
      },
      "Operation_BoxesResize" : {
        "type" : "object",
        "description" : "Used to change the dimensions of a specific box in a specific page range in the document.",
        "properties" : {
          "box" : {
            "type" : "string",
            "default" : "media_box",
            "description" : "Used to select the box that should be scaled.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "media_box", "crop_box", "bleed_box", "trim_box", "art_box" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PageBox"
            }
          },
          "dimensions" : {
            "$ref" : "#/components/schemas/Operation_DimensionsBoxesResize"
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the page(s) in which boxes should be scaled. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). To specify \"all pages,\" use an asterisk (\"\\*\")."
          }
        },
        "required" : [ "dimensions" ]
      },
      "Operation_BoxesToolboxOptions" : {
        "type" : "object",
        "description" : "Can be used to modify the document's boxes.\n\n**Tip:** You can use multiple \"resize\" or \"remove\" operations in order to manipulate various boxes simultaneously in a single step.",
        "properties" : {
          "remove" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_RemoveBoxes"
            }
          },
          "resize" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_ResizeBoxes"
            }
          }
        }
      },
      "Operation_CertificateFileData" : {
        "type" : "object",
        "description" : "Allows the transfer of a certificate (as a PEM file), for the en-/decryption of an asymmetrically encrypted document. The certificate identifies the rights recipient who is to be given access to the document. The transfer of multiple certificates or other structures is not intended at this point; exactly one certificate is expected for the decryption of the document. The rights recipient must already be assigned to the document when the document is encrypted. The certificate and private key must therefore be selected in such a way that they map a rights recipient who was entered in this document when it was encrypted.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Operation_CiphersHttpSettingsSSL" : {
        "type" : "object",
        "description" : "Defines the list of allowed TLS ciphers for the HTTP requests.",
        "properties" : {
          "cipher" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "cipher" ]
      },
      "Operation_CircleAnnotation" : {
        "type" : "object",
        "description" : "An annotation that draws a circle on a page.",
        "properties" : {
          "border" : {
            "$ref" : "#/components/schemas/Operation_Border"
          },
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "drawMode" : {
            "type" : "string",
            "default" : "fillAndStroke",
            "description" : "Sets the draw mode for a geometrical shape.\n\n*   fill = The shape shall be filled with a given interior color.\n*   stroke = The outline of the shape shall be stroked with a given color.\n*   fillAndStroke = The shall shall be filled with a given interior color and it's outline shall be stroked with a given color.",
            "enum" : [ "fill", "stroke", "fillAndStroke" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_DrawMode"
            }
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "interiorColor" : {
            "type" : "string",
            "default" : "#000000",
            "description" : "Used to set the font color. The hereby defined color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_PositionSimpleShapeAnnotation"
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Operation_Clear" : {
        "type" : "object",
        "description" : "Removes the whole outline tree from the document."
      },
      "Operation_ClearSignature" : {
        "type" : "object",
        "description" : "Used to remove all existing signatures from the PDF document.\n\n**Important:** Be aware, that this will also remove probably set passwords and encryption from the document.",
        "properties" : {
          "flatten" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to \"true\", this will render all visible signatures to the page content.\n\n**Important:** The actual signatures will still be removed! The hereby generated visual representation is not verifyable or binding and can not serve/does not count as a valid digital signature."
          }
        }
      },
      "Operation_ClearToolboxAnnotation" : {
        "type" : "object",
        "description" : "Used to remove the annotations of the selected pages.",
        "properties" : {
          "flatten" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Set to true to flatten annotations of the selected pages.\n\n**Important:** flattening means, the interactive annotation objects will be removed and only their visual representation will remain in the page content of the resulting document."
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines which page(s) annotations shall be removed from. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). To specify \"all pages,\" use an asterisk (\"\\*\")."
          }
        }
      },
      "Operation_CodabarBarcode" : {
        "type" : "object",
        "description" : "A Codabar barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_Code128Barcode" : {
        "type" : "object",
        "description" : "A Code128 barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_Code39Barcode" : {
        "type" : "object",
        "description" : "A Code39 barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_ColorBackground" : {
        "type" : "object",
        "description" : "Adds a solid-color background layer to the document.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "#FFFFFF",
            "description" : "Used to set the colour for the background layer. The colour needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_BackgroundBaseSettings"
          }
        }
      },
      "Operation_CommentToolboxAnnotation" : {
        "type" : "object",
        "description" : "Used to add/edit comment/replies to and of existing annotations.",
        "properties" : {
          "add" : {
            "$ref" : "#/components/schemas/Operation_AddComment"
          },
          "edit" : {
            "$ref" : "#/components/schemas/Operation_EditComment"
          }
        }
      },
      "Operation_CompressObjects" : {
        "type" : "object",
        "description" : "Combines object definitions of the document into so-called \"object streams\" and compresses them. This operation is recommended especially for larger documents with many objects. The size of contained resources (such as graphics and fonts) cannot be reduced in this way.",
        "properties" : {
          "objectStreamSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 200,
            "description" : "Specifies the number of objects that may be combined into one stream. The higher the number, the higher the expected effect (assuming that the document contains a large number of objects). On the other hand, very large object streams can have a negative effect on the loading and display speed of the document in readers. For values beyond 500 objects, it is recommended to perform a manual check whether the document can still be displayed without problems.",
            "minimum" : 1
          }
        }
      },
      "Operation_CompressSettings" : {
        "type" : "object",
        "description" : "The `compress` element can be used to automatically compress the contents of the PDF document when saving it. Whenever the web service operation saves the PDF document, it should try to compress it according to the settings specified here. Document compression can also be triggered specifically via the 'compress' web service instead.",
        "properties" : {
          "compressObjects" : {
            "$ref" : "#/components/schemas/Operation_CompressObjects"
          },
          "compressProfile" : {
            "type" : "string",
            "default" : "never",
            "description" : "Sets the profile for automatic document compression and thus defines whether compression should be applied when saving.\n\n*   always = PDF documents should always be compressed when saved.\n*   never = PDF documents should not be automatically compressed.\n*   recompress = PDF documents should only be compressed automatically if they were already compressed previously.",
            "enum" : [ "always", "never", "recompress" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_CompressProfile"
            }
          }
        }
      },
      "Operation_ConvertPdfa" : {
        "type" : "object",
        "description" : "Used to convert a PDF document to PDF/A.",
        "properties" : {
          "autoTagging" : {
            "type" : "boolean",
            "default" : false,
            "description" : "In order to convert a document to conformity levels PDF/A 1a-3a, the entire document must have appropriate structure information (tags). If auto tagging is enabled, the corresponding structure information (in the form of page tags) will be generated automatically before the actual conversion."
          },
          "errorCorrection" : {
            "$ref" : "#/components/schemas/Operation_PdfaErrorCorrection"
          },
          "errorReport" : {
            "type" : "string",
            "default" : "none",
            "description" : "This parameter is used to define whether and in which format the XML report for a failed conversion will be returned.\n\n*   none = An XML report will not be returned\n*   message = The XML report will be returned as part of the error message\n*   file = The XML report will be saved in a file",
            "enum" : [ "none", "file", "message" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfaErrorReport"
            }
          },
          "imageQuality" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 75,
            "description" : "The quality for images which must be transformed during the conversion because they use a compression which is not allowed (e.g. JPX is not allowed in PDF/A-1) is defined using this parameter. Values in a range from 1 to 100 are allowed whereby a higher value means better quality, but also larger PDF documents.",
            "maximum" : 100,
            "minimum" : 0
          },
          "level" : {
            "type" : "string",
            "default" : "3b",
            "description" : "Specifies the compliance level when creating or validating PDF/A documents (as specified in ISO 19005).",
            "enum" : [ "1a", "1b", "2a", "2b", "2u", "3a", "3b", "3u" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfaLevel"
            }
          },
          "successReport" : {
            "type" : "string",
            "default" : "none",
            "description" : "This parameter is used to define whether and in which format the XML report for a successful conversion will be returned.\n\n*   none = An XML report will not be returned\n*   linked = The XML report will be appended at the end of the PDF/A document.\n*   zip = The PDF/A document and the XML report will be packaged together in a ZIP archive.\n\n**Tip:** The format of the document generated with \"errorReport\" and \"successReport\" is described by the http://schema.webpdf.de/1.0/report/pdfa.xsd schema.",
            "enum" : [ "none", "zip", "linked" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfaSuccessReport"
            }
          },
          "zugferd" : {
            "$ref" : "#/components/schemas/Operation_Zugferd"
          }
        }
      },
      "Operation_Converter" : {
        "type" : "object",
        "description" : "Performs the conversion of a document.",
        "properties" : {
          "accessPassword" : {
            "type" : "string",
            "default" : "",
            "description" : "This parameter can be used to declare a password that will be used to open the source document if it is protected.\n\n**Important:** This option is currently only supported for Microsoft Office 97-2003 binary documents and Microsoft Office 2007 documents. Only the default password methods are supported. Encryption based on digital certificates is not supported."
          },
          "compression" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" the data objects in the PDF document will be compressed (ZLib compression), reducing the size of the document."
          },
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 300,
            "description" : "Used to set the DPI solution (pixels per inch) for images.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "embedFonts" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" fonts will be embedded in the PDF document that is created.\n\n**Important:**: If the original fonts are not available on the conversion system, substitute fonts may be embedded instead.\n\n**Important:**: If, after the conversion, you want to convert the PDF document to PDF/A, you should not embed any of the fonts, but should instead let the \"Pdfa\" web service do this."
          },
          "fileExtension" : {
            "type" : "string",
            "default" : "",
            "description" : "If you use this attribute to enter an extension for the file (e.g., \"doc\") that is currently being processed, automatic file format detection will be disabled. Normally, webPDF does not detect file formats based on the corresponding file extension, but on the file contents instead. Accordingly, webPDF will analyze the file and assign the file the appropriate \"mime-type\" so that the appropriate file converter can then be selected.\n\n**Important:**: You should only set a file extension in exceptional cases, as this will completely disable automatic detection. If, for instance, you specify an extension for which webPDF does not have a \"mime-type,\" the conversion will fail."
          },
          "html" : {
            "$ref" : "#/components/schemas/Operation_ConverterHtml"
          },
          "image" : {
            "$ref" : "#/components/schemas/Operation_ConverterImage"
          },
          "jpegQuality" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 90,
            "description" : "Used to set the quality (as a percentage) of JPEG images in the PDF document.",
            "maximum" : 100,
            "minimum" : 0
          },
          "mail" : {
            "$ref" : "#/components/schemas/Operation_ConverterMail"
          },
          "maxRecursion" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Sets the maximum recursions, that may occur when converting a document's attachments.\n\n**Important:** This parameter is intended for internal use only. Please only use this, if you really are sure you need to do so.",
            "minimum" : 1
          },
          "office" : {
            "$ref" : "#/components/schemas/Operation_ConverterOffice"
          },
          "officeBridge" : {
            "$ref" : "#/components/schemas/Operation_OfficeBridge"
          },
          "page" : {
            "$ref" : "#/components/schemas/Operation_ConverterPage"
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "A text that defines the page range for the export. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "pdfa" : {
            "$ref" : "#/components/schemas/Operation_Pdfa"
          },
          "reduceResolution" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" then the DPI resolution of graphics is reduced. The reduction value is set with \"dpi.\""
          },
          "report" : {
            "$ref" : "#/components/schemas/Operation_ConverterReport"
          },
          "sharePointBridge" : {
            "$ref" : "#/components/schemas/Operation_SharePointBridge"
          },
          "signature" : {
            "$ref" : "#/components/schemas/Operation_Signature"
          },
          "template" : {
            "$ref" : "#/components/schemas/Operation_ConverterTemplate"
          },
          "text" : {
            "$ref" : "#/components/schemas/Operation_ConverterText"
          },
          "transform" : {
            "$ref" : "#/components/schemas/Operation_ConverterTransform"
          }
        }
      },
      "Operation_ConverterFooter" : {
        "type" : "object",
        "description" : "Defines the content that will be used as a footer. The content is passed in BASE64 encoded and contains HTML and (embedded) CSS code to position and format the footer.\n\nThe footer can contain the variables `${html.pageNumber}` (page number), `${html.totalPages}` (total number of pages) and `${html.title}` (HTML head meta tag `<title>`).\n\n**Important:**The footer is not used for all file format conversions. The footer is not supported for file formats that already contain their own footer definition, such as Office formats. The footer defined here works only for HTML-based formats such as HTML files, emails, or template-based conversions (e.g. text formats).\n\nExample:\n\n```html                    \n<p>\n  <span style=\"font-size: 12px\">Page ${html.pageNumber} of ${html.totalPages} pages</span>\n</p>\n```",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_ConverterHeader" : {
        "type" : "object",
        "description" : "Defines the content that will be used as a header. The content is passed in BASE64 encoded and contains HTML and (embedded) CSS code to position and format the header.\n\nThe header can contain the variables `${html.pageNumber}` (page number), `${html.totalPages}` (total number of pages) and `${html.title}` (HTML head meta tag `<title>`).\n\n**Important:**The header is not used for all file format conversions. The header is not supported for file formats that already contain their own header definition, such as Office formats. The header defined here works only for HTML-based formats such as HTML files, emails, or template-based conversions (e.g. text formats).\n\nExample:\n\n```html                    \n<p>\n  <span style=\"font-size: 12px\">Page ${html.pageNumber} of ${html.totalPages} pages</span>\n</p>\n```",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_ConverterHtml" : {
        "type" : "object",
        "description" : "These settings are only used for HTML (e.g. websites) and HTML-based documents (e.g. e-mails).",
        "properties" : {
          "adjustFonts" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then the font specifications \"Arial\", \"Helvetica\" and \"Sans-Serif\" in HTML documents and e-mails (which are based on HTML) are automatically replaced by the \"Arial Unicode MS\" font. The improves the appearance of the typeface in the PDF result."
          },
          "baseURL" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the URL that will be the base for all URLs in the HTML document that are not defined as absolute URLs. The URL must be absolute and contain a scheme (e.g. 'http' or 'https'); the scheme 'file' is not allowed."
          },
          "downloadImages" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then externally referenced images of the HTML document are downloaded and inserted into the document. If false, the images are not downloaded and the external references to the image are removed, leaving already embedded images intact."
          },
          "errorReport" : {
            "$ref" : "#/components/schemas/Operation_ConverterHtmlErrorReport"
          },
          "imageMode" : {
            "type" : "string",
            "default" : "base64",
            "description" : "This defines how downloaded images are inserted into the HTML content (with reference to the `<downloadImages>` parameter). When referencing large images in the HTML content, it is recommended to use `<file>` to reduce the size of the HTML file and speed up the rendering of the HTML.\n\n*   base64 = embed images as BASE64 content\n*   file = embed images as file links to local temporary files",
            "enum" : [ "base64", "file" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ConverterHtmlImageMode"
            }
          },
          "preferCSSPageSize" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then the page size and margins are preferentially used from the CSS. Otherwise, the sizes from the passed page parameter are used. The values can also be only partially overwritten, so that e.g. the page size is determined by the parameter values and the page margins are defined in the CSS."
          },
          "templateData" : {
            "$ref" : "#/components/schemas/Operation_TemplateData"
          },
          "useAsTemplate" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", the HTML document will be interpreted as a template, i.e., the system will search for variables in the HTML and replace them with the data passed in \"templateData\". The document will not be converted to HTML format until after this step is completed. This means that by using the HTML document as a template together with passed data, you can obtain a dynamically generated PDF document."
          },
          "useBackground" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true\", the background defined in the HTML document will be output in the PDF document as well. If \"false\", the background will be hidden."
          }
        }
      },
      "Operation_ConverterHtmlErrorReport" : {
        "type" : "object",
        "description" : "This parameter specifies whether HTML content errors should be detected and, if so, whether a report should be provided along with the error code. The report is created only if at least one error was found. If the parameter is not specified, then any errors that may occur in the HTML document will not be detected and will be silently ignored.\n\n**Important:** This parameter refers only to the content of the passed HTML document and not to the web service call itself.",
        "properties" : {
          "format" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Defines the output format of the error report.\n\n*   xml = XML document.\n*   json = JSON document",
            "enum" : [ "xml", "json" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ConverterHtmlErrorReportFormat"
            }
          },
          "mode" : {
            "type" : "string",
            "default" : "none",
            "description" : "This parameter specifies whether HTML content errors should be detected and, if so, how to provide a report with the errors. A detected error can be a failed download of a resource (for example, an image) or a script or CSS syntax error.\n\n*   none = No content errors are detected and no report is generated and returned.\n*   message = Content errors are detected and the report is returned as part of the error message",
            "enum" : [ "none", "message" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ConverterHtmlErrorReportMode"
            }
          }
        }
      },
      "Operation_ConverterImage" : {
        "type" : "object",
        "description" : "The settings are used when converting images if the source file is an image. If the source file is another format that may contain images, then these settings may not apply.",
        "properties" : {
          "maintainAspectRatio" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If enabled (\"true\"), then the aspect ratio of the graphic will be maintained when the graphic is converted to a specified page size in the PDF. If no paper size is defined, then the aspect ratio does not matter, because the page in the PDF will then always have the size of the graphic."
          }
        }
      },
      "Operation_ConverterMail" : {
        "type" : "object",
        "description" : "These settings are only used for e-mail documents. The \"MIME\" (eml; RFC-822) and Outlook (msg) e-mail formats are supported.",
        "properties" : {
          "adjustFonts" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then the font specifications \"Arial\", \"Helvetica\" and \"Sans-Serif\" in HTML documents and e-mails (which are based on HTML) are automatically replaced by the \"Arial Unicode MS\" font. The improves the appearance of the typeface in the PDF result."
          },
          "attachmentMode" : {
            "type" : "string",
            "default" : "embed",
            "description" : "Specifies the manner in which attachments are to be processed in e-mails.\n\n*   embed = Embed in original format\n*   remove = Remove attachments\n*   convert = Converts the attachments to PDF format and embeds them as an attachment\n*   convertMerge = Converts the attachments to PDF format and appends them as additional page(s) at the end\n\n**Important:** If conversion to PDF format is not possible when using \"convert\" or \"convertMerge\", the attachment will be embedded in its original format.",
            "enum" : [ "embed", "remove", "convert", "convertMerge", "convertEmbed", "convertMergeEmbed" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_AttachmentMode"
            }
          },
          "downloadImages" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then externally referenced images in the HTML content of the e-mail are downloaded and inserted into the document. If false, the images are not downloaded and the external references to the image are removed, leaving already embedded images intact. This option can slow down the conversion if many images are included or if, for example, e-mail documents are converted in which the images can no longer be retrieved."
          },
          "ignoreMissingBodyChunk" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this option is enabled, an error will not be triggered (the conversion will not be aborted) for e-mails if there is no body element in the file structure. However, this should not be confused with an e-mail not having any content."
          },
          "reduceImageSize" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then all images are reduced in their pixel size so that they fit into the maximum page width. This only applies to images that have been resized using the `resizeImages` option. These images are reduced to the maximum number of pixels required to fit the page width. Images that are not affected by the `resizeImages` option are not resized.\n\n**Important:** If you activate the `reduceImageSize` option, you must also activate `resizeImages` and only resized images will be affected by this option. This option also leads to a significant reduction in the number of pixels in images, which can lead to an improved document size."
          },
          "resizeImages" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, then an attempt is made to fit all images that are not in a table to the maximum page width in the PDF document. The graphics will be scaled (while maintaining the aspect ratio) to fit the width of the page and not be cut off. Please note that this may cause the original formatting of the email to be lost or to deviate from the original due to the scaling.\n\n**Important:** If the \"resizeImages\" option is enabled, you must expect that the original appearance of the e-mail document will no longer be preserved."
          },
          "resizeTables" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, then an attempt is made to fit all tables to the maximum page width in the PDF document. An attempt is made to reduce the individual columns of a table so that the table fits completely within the page width. This works only for simple tables originally defined with dynamic sizes and not for nested tables (table-in-table). Please note that this may cause the original formatting of the email to be lost or to deviate from the original due to scaling.\n\n**Important:** If the option \"resizeTables\" is activated, you must expect that the original appearance of the e-mail document is no longer preserved. The recalculation of the table columns may also result in very narrow columns in the output."
          },
          "useBackground" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true\", then a background defined in the e-mail (in the HTML content) is also output in the PDF document. If \"false\", the background will be hidden."
          }
        }
      },
      "Operation_ConverterOffice" : {
        "type" : "object",
        "description" : "Defines the settings to be used when converting Office documents (e.g., docx documents).\n\n**Important:** Currently only the integrated Word document converter for docx files is supported",
        "properties" : {
          "word" : {
            "$ref" : "#/components/schemas/Operation_ConverterOfficeWord"
          }
        }
      },
      "Operation_ConverterOfficeForm" : {
        "type" : "object",
        "description" : "Defines the settings that are used when converting documents that have content that can be converted to an AcroForm.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" content elements that define forms are converted into an AcroForm. Otherwise, the elements are converted as normal content."
          }
        }
      },
      "Operation_ConverterOfficeWord" : {
        "type" : "object",
        "description" : "Defines the settings to be used when converting Word (docx) documents.",
        "properties" : {
          "form" : {
            "$ref" : "#/components/schemas/Operation_ConverterOfficeForm"
          }
        }
      },
      "Operation_ConverterOperation" : {
        "type" : "object",
        "properties" : {
          "billing" : {
            "$ref" : "#/components/schemas/Operation_Billing"
          },
          "converter" : {
            "$ref" : "#/components/schemas/Operation_Converter"
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PdfPassword"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_Settings"
          }
        },
        "required" : [ "converter" ]
      },
      "Operation_ConverterPage" : {
        "type" : "object",
        "description" : "Sets the page size, margins, and headers and footers for the converted document in the PDF document.\n\n**Important:** The settings may override the default values for a format that itself has page settings. In addition, not all settings can be applied to all formats (see, for example, the description of headers and footers).",
        "properties" : {
          "bottom" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Bottom margin settings."
          },
          "footer" : {
            "$ref" : "#/components/schemas/Operation_ConverterFooter"
          },
          "header" : {
            "$ref" : "#/components/schemas/Operation_ConverterHeader"
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 297,
            "description" : "Page height."
          },
          "left" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Left margin settings."
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "right" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Right margin settings."
          },
          "top" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Top margin settings."
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 210,
            "description" : "Page width."
          }
        }
      },
      "Operation_ConverterReport" : {
        "type" : "object",
        "description" : "Can be used to enable expanded error reporting for text-based documents (e.g., Word).",
        "properties" : {
          "contentProblems" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then an error (ERR\\_CONVERTER\\_CONTENT\\_PROBLEMS) is triggered if a problem occurs with a content item during the conversion. The following are among the problems:\n\n*   Unicode resolution of characters is not possible\n*   Vertical text elements\n*   Unsupported text effects\n*   Unsupported graphics compression\n*   Unsupported colour space\n*   Non-integrated sub-document that was not converted\n*   Tables with a \"right-to-left\" alignment in the content\n*   The document contains mathematical formulas"
          },
          "fontAliasUsage" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then an error (ERR\\_CONVERTER\\_FONT\\_ALIAS\\_USED) is triggered if a font was not found during conversion and in its place a substitute (alias) font was used."
          },
          "fontIsMissing" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then an error (ERR\\_CONVERTER\\_FONT\\_IS\\_MISSING) is triggered if a font was not found during conversion."
          }
        }
      },
      "Operation_ConverterTemplate" : {
        "type" : "object",
        "description" : "Can be used to define settings for file formats for which a template is required for conversion. As of this writing, these settings apply to the following file formats:\n\n*   MIME mail (eml)\n*   Outlook message (msg)\n*   iCalendar (ics) / vCalendar (vcs)\n*   vCard (vcf)\n*   Serial Vector Format (svg)\n*   Text document (txt)\n\nIn addition, you can replace the default template with a custom template of your own in \"file\". You can also use your own variables in this custom template. These variables would then need to be passed with a JSON structure (Base64-encoded) in \"data\".",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/Operation_TemplateData"
          },
          "file" : {
            "$ref" : "#/components/schemas/Operation_TemplateFile"
          },
          "language" : {
            "type" : "string",
            "default" : "",
            "description" : "An ISO 639-1-compliant language code consisting of 2 letters. If there is one, a localized template will be selected using the language selected here. If not defined, the language in which webPDF is run will be used.",
            "pattern" : "system|[a-z]{2}"
          }
        }
      },
      "Operation_ConverterText" : {
        "type" : "object",
        "description" : "The settings are used in purely text-based files that can contain source code that would make syntax highlighting advisable. If you configure this element, the system will attempt, during conversion, to detect whether and in which programming/script language content is stored. Based on the result, it will then determine the type of highlighting (in the generated PDF document) is required. SyntaxHighlighter and TextHighlighter are specified alternately. If the syntax highlighter is unable to determine whether the contents belong to any language it knows, the text highlighter will be used instead for formatting.",
        "properties" : {
          "syntaxHighlight" : {
            "$ref" : "#/components/schemas/Operation_SyntaxHighlight"
          },
          "textHighlight" : {
            "$ref" : "#/components/schemas/Operation_TextHighlight"
          },
          "useSyntaxDetection" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to \"true\", syntax highlighting and language detection will be enabled."
          }
        }
      },
      "Operation_ConverterTransform" : {
        "type" : "object",
        "description" : "This element defines a set of transformations to be applied to the document before further converter operations are performed. For example, an XSLT transformation could be applied to an XML document to transform it to HTML before converting that HTML content to a PDF document. This element currently recognizes two forms of transformations:\n\n*   XSLT transformation - a generic transformation to any output format.\nOptimally, the transformation creates a document format (such as HTML) that the downstream conversion can convert to a PDF document. The generic transformation can contain an arbitrary number of XSLT elements, defined as `<resources>`, each of which is successively applied to the result of the preceding transformation.*   XInvoice transformation - XML data in XInvoice format (CII or UBL) transformed into a visual image by means of transformation.\n\nNormally, no further specification is necessary here, because a standard layout for the visual image of an X-invoice is stored on the server. However, if a different layout is to be used, this must be specified via the `<visualization>` element. The file used there must be an XLST stylesheet, which creates the XInvoice data as HTML output.",
        "properties" : {
          "xRechnung" : {
            "$ref" : "#/components/schemas/Operation_XRechnung"
          },
          "xslTransformation" : {
            "$ref" : "#/components/schemas/Operation_XslTransformation"
          }
        }
      },
      "Operation_DataMatrixBarcode" : {
        "type" : "object",
        "description" : "A DataMatrix barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "compact" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Specifies whether to use compact mode for Data Matrix. The compact encoding mode also supports the encoding of characters that are not in the ISO-8859-1 character set via Extended Channel Interpretation (ECIs).\n\n*   Character encoding is chosen for characters in the input that are not in the ISO-8859-1 character set.\n*   The encoding used can be enforced using the parameter `charset`, e.g. to UTF-8.\n*   Compact encoding also provides GS1-FNC1 support (when `GS1` enabled)."
          },
          "errorCorrection" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Used to adjust the error correction level for generated Data Matrix codes. The higher the level, the more error-resistant the barcode, ensuring that damaged codes will still be readable. A level of 1 to 8 can be specified.",
            "maximum" : 8,
            "minimum" : 1
          },
          "gs1" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Specifies whether the data should be encoded to the [GS1](https://www.gs1.org/standards/gs1-datamatrix-guideline/25#1-Introduction-to-GS1-DataMatrix) standard.\n\nIn this case group-separator character (ASCII 29 decimal) can be used to encode the positions of FNC1 codewords."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "shape" : {
            "type" : "string",
            "default" : "default",
            "description" : "Can be used to force a specific shape for generated Data Matrix codes.\n\n*   default = The appropriate shape is selected automatically based on the content, character set, and other parameters.\n*   rectangle = Force a rectangular shape.\n*   square = Force a square shape.",
            "enum" : [ "default", "rectangle", "square" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_DataMatrixShape"
            }
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_Decrypt" : {
        "type" : "object",
        "description" : "The document will be decrypted when the decrypt element and the required password element are used."
      },
      "Operation_DescriptionCustom" : {
        "type" : "object",
        "description" : "If you add another (optional) `<custom .../>` element to the description element, you can use it to store your own values in the PDF description. The element can occur multiple times and defines an additional entry for the description.",
        "properties" : {
          "key" : {
            "type" : "string",
            "default" : "",
            "description" : "Describes the name of the field to be added to the PDF description. The value must not be empty, must be unique, and must not conflict with the other (default) field names (e.g. \"Subject\"). If a name conflict occurs, the entry will be skipped and not entered."
          },
          "remove" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then the field is not added but removed. In this case \"value\" has no meaning. If the field is not present, then the entry is skipped."
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Describes the value to be stored in the PDF description."
          }
        }
      },
      "Operation_DestinationEvent" : {
        "type" : "object",
        "description" : "A common base type for destination events, that shall target some location or content of the document.",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Operation_ZoomDestination"
        }, {
          "$ref" : "#/components/schemas/Operation_FitPageDestination"
        }, {
          "$ref" : "#/components/schemas/Operation_FitWidthDestination"
        }, {
          "$ref" : "#/components/schemas/Operation_FitHeightDestination"
        }, {
          "$ref" : "#/components/schemas/Operation_FitRectangleDestination"
        }, {
          "$ref" : "#/components/schemas/Operation_FitBoundingBoxDestination"
        }, {
          "$ref" : "#/components/schemas/Operation_FitBoundingBoxWidthDestination"
        }, {
          "$ref" : "#/components/schemas/Operation_NamedDestination"
        } ]
      },
      "Operation_DetectBarcode" : {
        "type" : "object",
        "description" : "This operation is used to define the barcode recognition parameters. The system will attempt to find barcodes inside the area defined with `<scanArea>`. The recognition process itself is controlled with `<selection>`.",
        "properties" : {
          "inputFormat" : {
            "type" : "string",
            "default" : "pdf",
            "description" : "Used to select the format of the file with the contents that will be scanned for barcodes.\n\n*   pdf = PDF document\n*   img = Image document (JPG, PNG, TIF)",
            "enum" : [ "pdf", "img" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_BarcodeDetectInputFormat"
            }
          },
          "outputFormat" : {
            "type" : "string",
            "default" : "json",
            "description" : "Used to select the format in which the recognition results should be returned.\n\n*   json = JSON\n*   xml = XML",
            "enum" : [ "xml", "json" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_BarcodeDetectOutputFormat"
            }
          },
          "selection" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_BarcodeSelection"
            }
          }
        }
      },
      "Operation_DimensionsBoxesResize" : {
        "type" : "object",
        "description" : "Used to define the position and dimensions of a containing element.",
        "properties" : {
          "height" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The height of the element.",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The width of the element.",
            "minimum" : 0
          },
          "x" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The horizontal displacement of the element.",
            "minimum" : 0
          },
          "y" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The vertical displacement of the element.",
            "minimum" : 0
          }
        }
      },
      "Operation_Ean13Barcode" : {
        "type" : "object",
        "description" : "An EAN13 barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_Ean8Barcode" : {
        "type" : "object",
        "description" : "An EAN8 barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_EditComment" : {
        "type" : "object",
        "description" : "Used to edit existing comments.\n\n**Important:** You may only change the textual contents of replyTo comments. Comments must always be placed on the same page, as the annotation they reply to. To change their position, move the annotation that is replied to instead.",
        "properties" : {
          "replyTo" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_ReplyToAnnotationEdit"
            }
          }
        }
      },
      "Operation_EditToolboxAnnotation" : {
        "type" : "object",
        "description" : "Used to change properties of selected, already existing annotations.",
        "properties" : {
          "circle" : {
            "$ref" : "#/components/schemas/Operation_CircleAnnotation"
          },
          "freetext" : {
            "$ref" : "#/components/schemas/Operation_FreeTextAnnotation"
          },
          "line" : {
            "$ref" : "#/components/schemas/Operation_LineAnnotation"
          },
          "markup" : {
            "$ref" : "#/components/schemas/Operation_MarkupAnnotation"
          },
          "redact" : {
            "$ref" : "#/components/schemas/Operation_RedactAnnotation"
          },
          "rubberstamp" : {
            "$ref" : "#/components/schemas/Operation_RubberStampAnnotation"
          },
          "selection" : {
            "$ref" : "#/components/schemas/Operation_SelectionEdit"
          },
          "square" : {
            "$ref" : "#/components/schemas/Operation_SquareAnnotation"
          },
          "text" : {
            "$ref" : "#/components/schemas/Operation_TextAnnotation"
          }
        },
        "required" : [ "selection" ]
      },
      "Operation_Encrypt" : {
        "type" : "object",
        "description" : "These parameters can be used to set encryption for a PDF document.",
        "properties" : {
          "canAssemble" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" the document can be rearranged (e.g., pages can be deleted, inserted, and rotated)."
          },
          "canExtractContent" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" content can be extracted (copied) from the document."
          },
          "canExtractForAccessibility" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" content can be extracted (copied) for accessibility purposes."
          },
          "canFillInForm" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" form fields can be filled out and the document can be signed."
          },
          "canModify" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" changes to the document are permitted."
          },
          "canModifyAnnotations" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" comments can be added to the document and deleted from the document."
          },
          "canPrint" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" the document can be printed."
          },
          "canPrintHighRes" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" the document can be printed at high resolution levels."
          },
          "contentEncryption" : {
            "type" : "string",
            "default" : "encryptEverything",
            "description" : "Specifies whether certain contents should be treated differently than others during encryption.\n\n*   encryptEverything = All contents of the document are encrypted without distinction (if provided by the standard).\n*   exposeMetadata = The document's metadata is left unencrypted to make it discoverable by processing programs. (Has an effect only for 128 bit and 256 bit AES).",
            "enum" : [ "encryptEverything", "exposeMetadata" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfContentEncryption"
            }
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PasswordEncrypt"
          }
        }
      },
      "Operation_EncryptCertificate" : {
        "type" : "object",
        "description" : "These parameters can be used to set the asymmetric encryption of a PDF document.",
        "properties" : {
          "contentEncryption" : {
            "type" : "string",
            "default" : "encryptEverything",
            "description" : "Specifies whether certain contents should be treated differently than others during encryption.\n\n*   encryptEverything = All contents of the document are encrypted without distinction (if provided by the standard).\n*   exposeMetadata = The document's metadata is left unencrypted to make it discoverable by processing programs. (Has an effect only for 128 bit and 256 bit AES).",
            "enum" : [ "encryptEverything", "exposeMetadata" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfContentEncryption"
            }
          },
          "encryptionKey" : {
            "type" : "string",
            "default" : "RC4_128",
            "description" : "Sets the encryption level for the document.\n\n*   RC4\\_40 = 40-bit RC4\n*   RC4\\_128 = 128-bit RC4\n*   AES\\_128 = 128-bit AES\n*   AES\\_256 = 256-bit AES\n\n**Important:** Please note that the option \"256-bit AES\" only works if the \"Java Cryptography Extension (JCE)\" has been enabled with \"Unlimited Strength\" in the JVM. You can obtain the modified \"Policy Files\" (along with instructions for installation) from the Oracle website: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html",
            "enum" : [ "RC4_40", "RC4_128", "AES_128", "AES_256" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfEncryptionKey"
            }
          },
          "recipient" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Recipient"
            }
          }
        },
        "required" : [ "recipient" ]
      },
      "Operation_ExtractToolboxAttachment" : {
        "type" : "object",
        "description" : "Used to extract one or more attachments from the document. If more than one file is defined with selection, the result is returned in the form of a ZIP document.",
        "properties" : {
          "folderNameTemplate" : {
            "type" : "string",
            "default" : "page[%d]",
            "description" : "Used to set the template for the page folders in the returned ZIP file. \"page\\[%d\\]\", for example, would result in a folder called \"page1\" for page 1, etc."
          },
          "selection" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_SelectionAttachment"
            }
          },
          "singleFileAsZip" : {
            "type" : "boolean",
            "default" : true,
            "description" : "The returned attachments will be combined to a common ZIP file, even if the selection is resulting in a single attachment to be selected. You can change this behaviour by setting this option to \"false\". In that case, this will expect to select a single attachment, that can be returned \"as is\"."
          }
        }
      },
      "Operation_ExtractionImages" : {
        "type" : "object",
        "description" : "Extract the PDF document's image contents\n\nGenerates a ZIP file that is returned as a result when the web service is called. This file will contain all the images contained at the page level in a freely selectable page range.\n\n**Important:** The images mode can only be used to extract raster graphics (bitmap images). The extraction vector graphics, as well as the rendering of vector graphics based on vectorial drawing paths, is not supported.\n\n**Important:** Due to licensing reasons, the images mode currently only supports the extraction of basic JPEG2000 images that conform to the part-1 core coding system definition in ISO/IEC 15444-1.\n\n**Important:** It cannot be guaranteed that an image will be exported in its original source format, as the image may have already been converted when embedded in the PDF (this depends on whether the source format was supported by the PDF standard and on the application that was used to embed the image).",
        "properties" : {
          "fallbackFormat" : {
            "type" : "string",
            "default" : "png",
            "description" : "Used to specify the format that should be used as the fallback format if extracting an image would result in a format that is not supported.\n\n*   png = PNG file\n*   jpeg = JPEG file",
            "enum" : [ "png", "jpeg" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ExtractionImageFormat"
            }
          },
          "fileFormat" : {
            "type" : "string",
            "default" : "zip",
            "description" : "Used to define the output format for the PDF document text contents being extracted.\n\n*   text = Text document\n*   xml = XML document\n*   json = JSON data structure",
            "enum" : [ "text", "xml", "json", "zip" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ExtractionFileFormat"
            }
          },
          "fileNameTemplate" : {
            "type" : "string",
            "default" : "file[%d]",
            "description" : "Used to set the template for the image files in the returned ZIP file. \"file\\[%d\\]\", for example, would result in a \"file\\[1\\].png\" entry for a PNG image."
          },
          "folderNameTemplate" : {
            "type" : "string",
            "default" : "page[%d]",
            "description" : "Used to set the template for the page folders in the returned ZIP file. \"page\\[%d\\]\", for example, would result in a folder called \"page\\[1\\]\" for page 1, etc."
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define which page(s) should be used for the image's mode. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). A blank value or \"\\*\" selects all pages of the PDF document."
          }
        }
      },
      "Operation_ExtractionInfo" : {
        "type" : "object",
        "description" : "Extract general and structure information about the PDF document\n\nGenerates an XML or JSON file that will be returned as a result when the web service is called. This file will contain information about the PDF document such as the corresponding security settings, PDF properties, or PDF/A status.",
        "properties" : {
          "fileFormat" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Used to define the output format for the PDF document text contents being extracted.\n\n*   text = Text document\n*   xml = XML document\n*   json = JSON data structure",
            "enum" : [ "text", "xml", "json", "zip" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ExtractionFileFormat"
            }
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define which page(s) should be used for the extraction mode. The page number can be either an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). A blank value or \"\\*\" selects all pages of the PDF document."
          }
        }
      },
      "Operation_ExtractionLinks" : {
        "type" : "object",
        "description" : "Extract links from thePDF document\n\nGenerates an ASCII text, XML, or JSON file that will be returned as a result when the web service is called and that will contain all selected supported links in the PDF document. Every link is written to a separate line in the ASCII file.",
        "properties" : {
          "fileFormat" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Used to define the output format for the PDF document text contents being extracted.\n\n*   text = Text document\n*   xml = XML document\n*   json = JSON data structure",
            "enum" : [ "text", "xml", "json", "zip" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ExtractionFileFormat"
            }
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define which page(s) should be used for the extraction mode. The page number can be either an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). A blank value or \"\\*\" selects all pages of the PDF document."
          },
          "text" : {
            "$ref" : "#/components/schemas/Operation_TextExtractionLinks"
          }
        }
      },
      "Operation_ExtractionParagraphs" : {
        "type" : "object",
        "description" : "Extract text content of the PDF document, separated by paragraphs\n\nGenerates an ASCII text, XML, or JSON file that will be returned as a result when the web service is called and that will contain all texts in the PDF document separated by paragraphs.\n\nIn order for this to work, the paragraphs must be found in the PDF as elements. A purely visual separation will not work!",
        "properties" : {
          "fileFormat" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Used to define the output format for the PDF document text contents being extracted.\n\n*   text = Text document\n*   xml = XML document\n*   json = JSON data structure",
            "enum" : [ "text", "xml", "json", "zip" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ExtractionFileFormat"
            }
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define which page(s) should be used for the extraction mode. The page number can be either an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). A blank value or \"\\*\" selects all pages of the PDF document."
          }
        }
      },
      "Operation_ExtractionText" : {
        "type" : "object",
        "description" : "Extract the PDF document's text content.\n\nGenerates an ASCII text, XML, or JSON file that will be returned as a result when the web service is called and that will contain all texts in the PDF document.",
        "properties" : {
          "fileFormat" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Used to define the output format for the PDF document text contents being extracted.\n\n*   text = Text document\n*   xml = XML document\n*   json = JSON data structure",
            "enum" : [ "text", "xml", "json", "zip" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ExtractionFileFormat"
            }
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define which page(s) should be used for the extraction mode. The page number can be either an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). A blank value or \"\\*\" selects all pages of the PDF document."
          }
        }
      },
      "Operation_ExtractionWords" : {
        "type" : "object",
        "description" : "Extract all the words from the PDF document, with page and position information.\n\nGenerates an ASCII text, XML, or JSON file that will be returned as a result when the web service is called. For each found word, the file will contain the page number and the X-axis and Y-axis coordinates of the word. When the TEXT output format is selected, only the word's text will be output, separated with line breaks.",
        "properties" : {
          "delimitAfterPunctuation" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this attribute is set to true, a new word will be started after each punctuation mark."
          },
          "extendedSequenceCharacters" : {
            "type" : "boolean",
            "default" : false,
            "description" : "This attribute specifies whether quotation marks and apostrophes should be handled the same way as brackets (such as parentheses and square brackets), i.e., whether they should be placed before the word they enclose."
          },
          "fileFormat" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Used to define the output format for the PDF document text contents being extracted.\n\n*   text = Text document\n*   xml = XML document\n*   json = JSON data structure",
            "enum" : [ "text", "xml", "json", "zip" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ExtractionFileFormat"
            }
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define which page(s) should be used for the extraction mode. The page number can be either an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). A blank value or \"\\*\" selects all pages of the PDF document."
          },
          "removePunctuation" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Used to specify whether punctuation marks should be included in the export or whether they should be explicitly removed."
          }
        }
      },
      "Operation_FileAnnotation" : {
        "type" : "object",
        "description" : "Used to define the annotation element that should be linked to the file attachment.\n\n**Important:** If an \"annotation element\" is not defined for the \"file element,\" the attachment will be stored at the document level.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation colour will change the main colour of the attachment's icon. The colour needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "If this value is positive, the annotation will be generated with a fixed height corresponding to the value instead of using the dimensions of the specified icon.",
            "minimum" : 0
          },
          "icon" : {
            "type" : "string",
            "default" : "paperclip",
            "description" : "If an attachment is embedded at the page level, this option can be used to specify the icon that should be used to show it:\n\nThe value you use here will define which icon will be used, as well as the basic dimensions for the annotation generated in the PDF. If you use the \"None\" icon type, a predefined icon will not be used. Instead, this option will only use the dimensions specified in \"width\" and \"height\" to generate an annotation with a transparent selection box at the specified position.\n\n*   graph = Diagram\n*   paperclip = Paper clip\n*   pushPin = Thumb tack\n*   tag = Tag\n*   none = Rectangular selection box",
            "enum" : [ "graph", "paperclip", "pushPin", "tag", "none" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Icons"
            }
          },
          "lockedPosition" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to \"true\", the person viewing the document will not be allowed to move the icon for the file attached at the page level."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Used to set the opacity for the attachment's icon. A percent value between 0 and 100 is allowed, whereby 0 equals the minimum opacity. The higher the value, the more the content of the PDF document will be covered over.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Used to define the page on which the annotation will be generated, i.e., the page where the attachment will be stored.",
            "minimum" : 1
          },
          "point" : {
            "$ref" : "#/components/schemas/Operation_Point"
          },
          "popupText" : {
            "type" : "string",
            "default" : "",
            "description" : "The text that should be displayed in the pop-up for the annotation."
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "If this value is positive, the annotation will be generated with a fixed width corresponding to the value instead of using the dimensions of the specified icon.",
            "minimum" : 0
          }
        },
        "required" : [ "point" ]
      },
      "Operation_FileAttachment" : {
        "type" : "object",
        "description" : "Used to define an individual file attachment that should be added to the PDF document. This element can be used multiple times if you want to add multiple files.",
        "properties" : {
          "annotation" : {
            "$ref" : "#/components/schemas/Operation_FileAnnotation"
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Can be used to set an author for the attachment. If you leave this value blank, the currently active system user will be used."
          },
          "data" : {
            "$ref" : "#/components/schemas/Operation_AttachmentFileData"
          },
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the name under which the attachment in the document will be created."
          },
          "mimeType" : {
            "type" : "string",
            "default" : "",
            "description" : "Can be used to set an optional MIME data type for the attachment. If you leave this value blank, the \"application/octet-stream\" MIME data type will be used."
          }
        },
        "required" : [ "data", "fileName" ]
      },
      "Operation_FileSpecification" : {
        "type" : "object",
        "description" : "Used to specify the location and additional parameters for running an application or opening a document.",
        "properties" : {
          "description" : {
            "type" : "string",
            "default" : "",
            "description" : "A description of the application that should be opened."
          },
          "resourceURL" : {
            "type" : "string",
            "default" : "",
            "description" : "The path or URL for the application / document. Use forward slashes as path separators. It is potentially possible to use platform-specific characters, but this is not recommended. If you do end up using platform-specific characters anyway, they must be preceded by a backslash (‘\\\\')."
          },
          "volatileFile" : {
            "type" : "boolean",
            "default" : false,
            "description" : "This value should be set to true if the selected document will be subject to changes continuously and the reader application should be forced to continuously reload the document instead of caching it."
          }
        }
      },
      "Operation_FitBoundingBoxDestination" : {
        "type" : "object",
        "properties" : {
          "fitBoundingBox" : {
            "type" : "object",
            "description" : "The fitBoundingBox element is used to specify a location within the document. It will jump to a page in the document and set a zoom factor that will ensure that the entire content area is displayed.",
            "properties" : {
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The document page to which the jump will be.",
                "minimum" : 1
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_FitBoundingBoxWidthDestination" : {
        "type" : "object",
        "properties" : {
          "fitBoundingBoxWidth" : {
            "type" : "object",
            "description" : "The fitBoundingBoxWidth element is used to specify a location within the document. It will jump to a page in the document and set a zoom factor that will ensure that the entire content area width is displayed.",
            "properties" : {
              "metrics" : {
                "type" : "string",
                "default" : "px",
                "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
                "enum" : [ "pt", "pc", "px", "mm", "in" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Metrics"
                }
              },
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The document page to which the jump will be.",
                "minimum" : 1
              },
              "topOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the top page margin."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_FitHeightDestination" : {
        "type" : "object",
        "properties" : {
          "fitHeight" : {
            "type" : "object",
            "description" : "The fitHeight element is used to specify a location within the document. It will jump to a page in the document and set a zoom factor that will ensure that the entire page height is displayed.",
            "properties" : {
              "leftOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the left page margin."
              },
              "metrics" : {
                "type" : "string",
                "default" : "px",
                "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
                "enum" : [ "pt", "pc", "px", "mm", "in" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Metrics"
                }
              },
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The document page to which the jump will be.",
                "minimum" : 1
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_FitPageDestination" : {
        "type" : "object",
        "properties" : {
          "fitPage" : {
            "type" : "object",
            "description" : "The fitPage element is used to specify a location within the document. It will jump to a page in the document and set a zoom factor that will ensure that the entire page area is displayed.",
            "properties" : {
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The document page to which the jump will be.",
                "minimum" : 1
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_FitRectangleDestination" : {
        "type" : "object",
        "properties" : {
          "fitRectangle" : {
            "type" : "object",
            "description" : "The fitRectangle element is used to specify a location within the document. It will jump to a page in the document and set a zoom factor that will ensure, as far as possible, that a rectangle produced by the offsets from the page margins is displayed.",
            "properties" : {
              "bottomOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the bottom page margin."
              },
              "leftOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the left page margin."
              },
              "metrics" : {
                "type" : "string",
                "default" : "px",
                "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
                "enum" : [ "pt", "pc", "px", "mm", "in" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Metrics"
                }
              },
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The document page to which the jump will be.",
                "minimum" : 1
              },
              "rightOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the right page margin."
              },
              "topOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the top page margin."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_FitWidthDestination" : {
        "type" : "object",
        "properties" : {
          "fitWidth" : {
            "type" : "object",
            "description" : "The fitWidth element is used to specify a location within the document. It will jump to a page in the document and set a zoom factor that will ensure that the entire page width is displayed.",
            "properties" : {
              "metrics" : {
                "type" : "string",
                "default" : "px",
                "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
                "enum" : [ "pt", "pc", "px", "mm", "in" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Metrics"
                }
              },
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The document page to which the jump will be.",
                "minimum" : 1
              },
              "topOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the top page margin."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_FormFieldSelection" : {
        "type" : "object",
        "description" : "Selects a form field.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the selected form field."
          }
        }
      },
      "Operation_FormsExport" : {
        "type" : "object",
        "description" : "Used to export data from the form fields.",
        "properties" : {
          "fdfFileName" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the file name of the PDF document that should be loaded automatically when the FDF document is opened. This setting is only used if \"format\" is set to \"fdf\"."
          },
          "format" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Used to set the format for exporting the data in a PDF form:\n\n*   xml = XML\n*   fdf = FDF\n*   xfdf = XFDF\n*   xdp = XDP (only for PDF documents that contain XFA data)\n\nThe exported data will be returned with the web service call as per the selected format.\n\n**Tip:** The format of this is described by the http://schema.webpdf.de/1.0/form/data.xsd schema.",
            "enum" : [ "xml", "fdf", "xfdf", "xdp" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FormsFormat"
            }
          }
        }
      },
      "Operation_FormsFileData" : {
        "type" : "object",
        "description" : "Selects a source for form data.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_FormsFlatten" : {
        "type" : "object",
        "description" : "Used to remove and render PDF fields. This will remove the interactive form fields from the document and will create a static, visual representation of such fields.\n\n**Important:** The flatten options only work with \"AcroForms.\" \"Static XFA Forms\" and \"Dynamic XFA forms\" created with Adobe® LiveCycle®, for example, are not supported."
      },
      "Operation_FormsImport" : {
        "type" : "object",
        "description" : "Used to import data into the form fields.",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/Operation_FormsFileData"
          },
          "flatten" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to \"true\" this will render the field contents after importing the new form values. (please refer to the documentation of the \"flatten element\")."
          },
          "format" : {
            "type" : "string",
            "default" : "xml",
            "description" : "Used to set the format for exporting the data in a PDF form:\n\n*   xml = XML\n*   fdf = FDF\n*   xfdf = XFDF\n*   xdp = XDP (only for PDF documents that contain XFA data)\n\nThe exported data will be returned with the web service call as per the selected format.\n\n**Tip:** The format of this is described by the http://schema.webpdf.de/1.0/form/data.xsd schema.",
            "enum" : [ "xml", "fdf", "xfdf", "xdp" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FormsFormat"
            }
          }
        },
        "required" : [ "data" ]
      },
      "Operation_FreeTextAnnotation" : {
        "type" : "object",
        "description" : "An annotation that adds a textual comment directly to a page.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "font" : {
            "$ref" : "#/components/schemas/Operation_FreeTextFont"
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "justification" : {
            "type" : "string",
            "default" : "leftJustified",
            "description" : "Selects the horizontal justification/alignment/orientation of elements.\n\n*   leftJustified = All elements shall be oriented to the left.\n*   centered = All elements shall be placed in the center of the container.\n*   rightJustified = All elements shall be oriented to the right.",
            "enum" : [ "leftJustified", "centered", "rightJustified" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Justification"
            }
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_PositionFreeTextAnnotation"
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Operation_FreeTextFont" : {
        "type" : "object",
        "description" : "A font definition for textual annotation types.",
        "properties" : {
          "bold" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Used to increase the text output's weight."
          },
          "color" : {
            "type" : "string",
            "default" : "#A0A0A0",
            "description" : "Used to set the font color. The hereby defined color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "italic" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Used to set the italic font posture for the text output."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the font that should be used for the text output."
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 24,
            "description" : "Used to set the text size for the text output.",
            "maximum" : 1296,
            "minimum" : 1
          }
        }
      },
      "Operation_Gif" : {
        "type" : "object",
        "description" : "Defines a target GIF image format.",
        "properties" : {
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "This parameter is used to define the image's DPI resolution. The larger the value, the larger the image's x, y resolution. In addition, the larger the DPI resolution, the larger the size of the image file.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum height of the exported image. 0 = No restriction",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum width of the exported image. 0 = No restriction",
            "minimum" : 0
          }
        }
      },
      "Operation_GoTo3DViewAction" : {
        "type" : "object",
        "properties" : {
          "goTo3DView" : {
            "type" : "object",
            "description" : "When activated, the goTo3DView action will jump to a specific view of a 3D object (a 3D annotation).",
            "properties" : {
              "annotation" : {
                "$ref" : "#/components/schemas/Operation_AnnotationSelection"
              },
              "index" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The index for the 3D annotation view. This value is an alternative to \"name\" and \"relative\" and does not have to be set if either one of these values are specified.",
                "minimum" : 0
              },
              "name" : {
                "type" : "string",
                "default" : "",
                "description" : "The name of the 3D annotation view. This value is an alternative to \"index\" and \"relative\" and does not have to be set if either one of these values are specified."
              },
              "relative" : {
                "type" : "string",
                "default" : "Default",
                "description" : "A view of the 3D annotation that has been defined relative to the currently visualized view. This value is an alternative to \"name\" and \"index\" and does not have to be set if either one of these values are specified.\n\n*   First = The first view of the 3D annotation.\n*   Last = The last view of the 3D annotation.\n*   Next = The next view of the 3D annotation.\n*   Previous = The previous view of the 3D annotation.\n*   Default = The default view of the 3D annotation.",
                "enum" : [ "First", "Last", "Next", "Previous", "Default" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_RelativeThreeDViewOperation"
                }
              }
            },
            "required" : [ "annotation" ]
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_GoToDestinationAction" : {
        "type" : "object",
        "properties" : {
          "goTo" : {
            "type" : "object",
            "description" : "The goTo element jumps to a specific place (destination) in the document. The goTo Element represents a triggerable action. There can only be one single subelement. Each one of the specified subelements represents a known destination in the document that can be jumped to.",
            "properties" : {
              "destination" : {
                "$ref" : "#/components/schemas/Operation_DestinationEvent"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_HeaderFooter" : {
        "type" : "object",
        "description" : "Used to define the header and footer that will be added to a document.",
        "properties" : {
          "date" : {
            "$ref" : "#/components/schemas/Operation_HeaderFooterDate"
          },
          "firstPageNumber" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Used to specify the starting page for page number formats.",
            "minimum" : 1
          },
          "font" : {
            "$ref" : "#/components/schemas/Operation_OptionsFont"
          },
          "footer" : {
            "$ref" : "#/components/schemas/Operation_HeaderFooterPositions"
          },
          "header" : {
            "$ref" : "#/components/schemas/Operation_HeaderFooterPositions"
          },
          "margin" : {
            "$ref" : "#/components/schemas/Operation_OptionsMargin"
          },
          "pages" : {
            "$ref" : "#/components/schemas/Operation_PagesHeaderFooter"
          },
          "replaceExisting" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, preexisting header and footer definition will be automatically deleted from all pages of the document and replaced with the new one. If false, preexisting header and footer definitions on any page of the document will cause the operation to be aborted."
          }
        }
      },
      "Operation_HeaderFooterDate" : {
        "type" : "object",
        "description" : "Sets a date for inclusion in the added header/footer element.",
        "properties" : {
          "day" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The day of the month.",
            "maximum" : 31,
            "minimum" : 1
          },
          "month" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The selected month.",
            "maximum" : 12,
            "minimum" : 1
          },
          "year" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The selected year."
          }
        }
      },
      "Operation_HeaderFooterPositions" : {
        "type" : "object",
        "description" : "The header/footer consists of three parts (left margin, center, right margin). This element can be used to define the text contents that should be shown at these positions. The contents can consist of static and dynamic contents.\n\n**Important:** Please consult the chapter \"Display Options\" concerning the format of the hereby set contents.",
        "properties" : {
          "center" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the text content of the header/footer in the centre."
          },
          "left" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the text content of the header/footer on the left page margin."
          },
          "right" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the text content of the header/footer on the right page margin."
          }
        }
      },
      "Operation_HeaderFooterToolboxOptions" : {
        "type" : "object",
        "description" : "Adds a header and footer to the document or removes them (the \"add\" and \"remove\" elements are mutually exclusive, i.e., you must select one or the other).",
        "properties" : {
          "add" : {
            "$ref" : "#/components/schemas/Operation_AddHeaderFooter"
          },
          "remove" : {
            "$ref" : "#/components/schemas/Operation_RemoveHeaderFooter"
          }
        }
      },
      "Operation_HideAction" : {
        "type" : "object",
        "properties" : {
          "hideAnnotation" : {
            "type" : "object",
            "description" : "When activated, the hide element will show or hide the selected annotations.",
            "properties" : {
              "annotation" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Operation_AnnotationSelection"
                }
              },
              "hide" : {
                "type" : "boolean",
                "default" : true,
                "description" : "Used to define whether the selected annotations should be hidden or shown."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_HtmlTranscribe" : {
        "type" : "object",
        "description" : "Converts the given document into a HTML representation.",
        "properties" : {
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "This parameter sets the DPI resolution of the document. The larger the value, the larger the X/Y resolution of the document's pages and generated raster graphics. Also, as the DPI resolution increases, so does the byte size of the document.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "1",
            "description" : "Specifies which page(s) to convert. The page number can be either a single page, a range of pages or a list (separated by commas) (e.g. \"1,5-6,9\"). The specification of all pages is done with \"\\*\"."
          },
          "svgFormat" : {
            "$ref" : "#/components/schemas/Operation_SvgFormat"
          }
        }
      },
      "Operation_HttpBasicAuth" : {
        "type" : "object",
        "description" : "Used to define the appropriate login information if access to the resource requires a login using the \"Basic Authentication\" method.",
        "properties" : {
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "Password if the URL requests an authentication of the \"Basic Authentication\" type."
          },
          "userName" : {
            "type" : "string",
            "default" : "",
            "description" : "Username if the URL requests an authentication of the \"Basic Authentication\" type."
          }
        }
      },
      "Operation_HttpProxy" : {
        "type" : "object",
        "description" : "Used to define the proxy and the access information if the resource must be fetched through a proxy.",
        "properties" : {
          "address" : {
            "type" : "string",
            "default" : "",
            "description" : "The address at which the proxy server can be reached."
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "Password if access to the proxy service requires authentication."
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The port that should be used to access the proxy server.",
            "minimum" : 0
          },
          "userName" : {
            "type" : "string",
            "default" : "",
            "description" : "Username if access to the proxy service requires authentication."
          }
        }
      },
      "Operation_HttpSettings" : {
        "type" : "object",
        "description" : "Defines the options for all external HTTP requests made by the server during the execution of the web service operation.",
        "properties" : {
          "followRedirect" : {
            "type" : "boolean",
            "default" : true
          },
          "headers" : {
            "$ref" : "#/components/schemas/Operation_HttpSettingsHeader"
          },
          "ssl" : {
            "$ref" : "#/components/schemas/Operation_HttpSettingsSSL"
          },
          "timeout" : {
            "$ref" : "#/components/schemas/Operation_HttpSettingsTimeout"
          },
          "userAgent" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Operation_HttpSettingsHeader" : {
        "type" : "object",
        "description" : "Defines the HTTP headers that will be sent for all HTTP requests.",
        "properties" : {
          "header" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_HttpSettingsHeaderEntry"
            }
          }
        }
      },
      "Operation_HttpSettingsHeaderEntry" : {
        "type" : "object",
        "description" : "Defines an HTTP header entry consisting of a `<name>` (header name) and a `<value>` (header value). All header entries are sent with each HTTP request and override the default headers.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : ""
          },
          "value" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Operation_HttpSettingsSSL" : {
        "type" : "object",
        "description" : "Defines the SSL options for all HTTP requests.",
        "properties" : {
          "ciphers" : {
            "$ref" : "#/components/schemas/Operation_CiphersHttpSettingsSSL"
          },
          "protocols" : {
            "$ref" : "#/components/schemas/Operation_ProtocolsHttpSettingsSSL"
          }
        }
      },
      "Operation_HttpSettingsTimeout" : {
        "type" : "object",
        "description" : "Defines the timeout options for all HTTP requests.",
        "properties" : {
          "connect" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10000,
            "description" : "Sets the timeout for the connection establishment of the HTTP requests."
          },
          "response" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 60000,
            "description" : "Sets the timeout to wait for the arrival of a response to the HTTP request."
          }
        }
      },
      "Operation_ImageBackground" : {
        "type" : "object",
        "description" : "Adds an image as a background layer to the document.",
        "properties" : {
          "image" : {
            "$ref" : "#/components/schemas/Operation_BackgroundFileData"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_BackgroundBaseSettings"
          }
        },
        "required" : [ "image" ]
      },
      "Operation_ImageOptimization" : {
        "type" : "object",
        "description" : "The optimization element allows to correct the images of the pages to optimize them for OCR. Except for the \"deskew\" parameter, none of the optimizations are actually visible in the generated documents. The other optimizations are only used to improve the text recognition.",
        "properties" : {
          "deskew" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Straight scans of pages can be created with a slight skew. If this value is set to true, an attempt is made to counter-rotate this skew and thus \"deskew\" the page. The results of this manipulation are visible in the resulting document."
          },
          "despeckle" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this mode is set, impurities and stains are reduced. These are caused, for example, by dust or dirt on the pane of a scanner. It is recommended to activate this optimization."
          },
          "edgeAccentuation" : {
            "type" : "string",
            "default" : "low",
            "description" : "If this value is set, edge sharpening is applied to the image. This optimization usually leads to significantly better recognition results, but can also lead to information loss.\n\n*   off = Do not apply this optimization\n*   value = Select your own value\n*   low = Apply optimization only with low intensity to avoid information loss.\n*   medium = Perform optimization with medium intensity.\n*   high = Perform optimization with strong intensity and accept possible information losses.",
            "enum" : [ "off", "value", "low", "medium", "high" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OptimizationIntensity"
            }
          },
          "edgeAccentuationValue" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Allows in combination with the edgeAccentuation mode \"value\" the free choice of a value for this optimization. An integer percentage value indicates the intensity of the edge accentuation. The actual image is overlaid with a corresponding sharpening filter for the edge accentuation - this percentage value specifies how intensively this effect should be emphasized compared to the original image. The predefined values range between 100 (low) and 200 percent (high).",
            "minimum" : 0
          },
          "gammaCorrection" : {
            "type" : "string",
            "default" : "off",
            "description" : "If this value is set, edge sharpening is applied to the image. This optimization usually leads to significantly better recognition results, but can also lead to information loss.\n\n*   off = Do not apply this optimization\n*   value = Select your own value\n*   low = Apply optimization only with low intensity to avoid information loss.\n*   medium = Perform optimization with medium intensity.\n*   high = Perform optimization with strong intensity and accept possible information losses.",
            "enum" : [ "off", "value", "low", "medium", "high" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OptimizationIntensity"
            }
          },
          "gammaCorrectionValue" : {
            "type" : "number",
            "format" : "float",
            "default" : 0.0,
            "description" : "Allows in combination with the gammaCorrection mode \"value\" the free choice of a value for this optimization. A comma value greater than 0 specifies the value to be applied to the image as gamma correction. The predefined values range between 1.5 (low) and 2.5 (high).",
            "minimum" : 0.0
          },
          "increaseContrast" : {
            "type" : "string",
            "default" : "off",
            "description" : "If this value is set, edge sharpening is applied to the image. This optimization usually leads to significantly better recognition results, but can also lead to information loss.\n\n*   off = Do not apply this optimization\n*   value = Select your own value\n*   low = Apply optimization only with low intensity to avoid information loss.\n*   medium = Perform optimization with medium intensity.\n*   high = Perform optimization with strong intensity and accept possible information losses.",
            "enum" : [ "off", "value", "low", "medium", "high" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OptimizationIntensity"
            }
          },
          "increaseContrastValue" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Allows in combination with the increaseContrast mode \"value\" the free choice of a value for this optimization. An integer value between -100 and +100 specifies the intensity of the contrast enhancement. The predefined values range between 25 (low) and 75 (high).",
            "maximum" : 100,
            "minimum" : -100
          },
          "medianFilter" : {
            "type" : "string",
            "default" : "low",
            "description" : "If this value is set, edge sharpening is applied to the image. This optimization usually leads to significantly better recognition results, but can also lead to information loss.\n\n*   off = Do not apply this optimization\n*   value = Select your own value\n*   low = Apply optimization only with low intensity to avoid information loss.\n*   medium = Perform optimization with medium intensity.\n*   high = Perform optimization with strong intensity and accept possible information losses.",
            "enum" : [ "off", "value", "low", "medium", "high" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OptimizationIntensity"
            }
          },
          "medianFilterValue" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Allows, in combination with the medianFilter mode \"value\", the free choice of a value for this optimization. An integer value greater than 0 specifies the grid size with which the effect is to be applied to the image. The predefined values range between 1 (low) and 3 (high).",
            "minimum" : 0
          },
          "noiseReduction" : {
            "type" : "string",
            "default" : "low",
            "description" : "If this value is set, edge sharpening is applied to the image. This optimization usually leads to significantly better recognition results, but can also lead to information loss.\n\n*   off = Do not apply this optimization\n*   value = Select your own value\n*   low = Apply optimization only with low intensity to avoid information loss.\n*   medium = Perform optimization with medium intensity.\n*   high = Perform optimization with strong intensity and accept possible information losses.",
            "enum" : [ "off", "value", "low", "medium", "high" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OptimizationIntensity"
            }
          },
          "noiseReductionValue" : {
            "type" : "number",
            "format" : "float",
            "default" : 1.0,
            "description" : "Allows in combination with the noiseReduction mode \"value\" the free choice of a value for this optimization. A decimal value greater than 0 indicates the intensity with which the effect is to be applied to the image. The predefined values range between 1.0 (low) and 3.0 (high).",
            "minimum" : 0.0
          },
          "reduceDithering" : {
            "type" : "boolean",
            "default" : false,
            "description" : "In black and white images (including black and white scans), color values are often represented by a halftone according to their brightness (dithering / moiré effect). These halftones/hatchings translate a color value into a uniform sequence of black and white areas that visually appear to be a uniform area of the same color/brightness. Such patterns can be very difficult to delineate against actual text that may be in such a \"colored\" area. Setting this value to true will try to reduce such dithering patterns. This mode should only be set if absolutely necessary, as this process can be very lossy."
          },
          "sharpen" : {
            "type" : "string",
            "default" : "low",
            "description" : "If this value is set, edge sharpening is applied to the image. This optimization usually leads to significantly better recognition results, but can also lead to information loss.\n\n*   off = Do not apply this optimization\n*   value = Select your own value\n*   low = Apply optimization only with low intensity to avoid information loss.\n*   medium = Perform optimization with medium intensity.\n*   high = Perform optimization with strong intensity and accept possible information losses.",
            "enum" : [ "off", "value", "low", "medium", "high" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OptimizationIntensity"
            }
          },
          "sharpenValue" : {
            "type" : "number",
            "format" : "float",
            "default" : 1.0,
            "description" : "Allows in combination with the sharpen mode \"value\" the free choice of a value for this optimization. A comma value greater than 0 indicates the intensity with which the effect is to be applied to the image. The predefined values range between 1.0 (low) and 3.0 (high).",
            "minimum" : 0.0
          }
        }
      },
      "Operation_ImportDataAction" : {
        "type" : "object",
        "properties" : {
          "importSchema" : {
            "type" : "object",
            "description" : "The importSchema action replaces the values in all form fields with the values in a matching form file.",
            "properties" : {
              "file" : {
                "$ref" : "#/components/schemas/Operation_FileSpecification"
              }
            },
            "required" : [ "file" ]
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_Item" : {
        "type" : "object",
        "description" : "Used to specify all the properties you want for a content structure entry that is to be created, including the actions it will trigger. An entry can contain any number of the specified subelements you want in the order you want them. All subelements represent a type of action that will be triggered when the entry is clicked on and that will be executed in succession.",
        "properties" : {
          "actions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_ActionEvent"
            }
          },
          "bold" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the element's name will be shown in bold."
          },
          "color" : {
            "type" : "string",
            "default" : "#000000",
            "description" : "Used to set the colour that will be used to display the element's name. The hereby defined color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "isOpen" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the element will already be expanded when the document is opened."
          },
          "italic" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the element's name will be shown in italics."
          },
          "itemName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the new entry in the content structure that should be placed relative to the selected path."
          },
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "The element paths are made of the visible names of the entries in the content structure separated with forward slashes (/), starting with an initial slash."
          },
          "pathPosition" : {
            "type" : "string",
            "default" : "inplace",
            "description" : "Selects the position where the entry should be created. The path passed in \"path\" will be interpreted based on this value.\n\n*   before = An entry will be generated on the same level before the entry that was selected with \"path.\n*   inplace = The entry selected with \"path\" will be treated as a parent element and will contain the new generated entry.\n*   after = An entry will be generated on the same level after the entry that was selected with \"path.",
            "enum" : [ "before", "inplace", "after" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_AddPosition"
            }
          }
        }
      },
      "Operation_ItemReference" : {
        "type" : "object",
        "description" : "Used to select an outline item.",
        "properties" : {
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "The element paths are made of the visible names of the entries in the content structure separated with forward slashes (/), starting with an initial slash."
          }
        }
      },
      "Operation_ItfBarcode" : {
        "type" : "object",
        "description" : "An ITF barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_JavaScriptAction" : {
        "type" : "object",
        "properties" : {
          "executeJavaScript" : {
            "type" : "object",
            "description" : "The executeJavaScript action runs passed JavaScript code.",
            "properties" : {
              "jsAction" : {
                "type" : "string",
                "default" : "",
                "description" : "A string that contains all the required JavaScript statements. References to libraries and external definitions will be valid as long as they are supported by the PDF standard and the reader application provides the corresponding interfaces."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_Jpeg" : {
        "type" : "object",
        "description" : "Defines a target JPEG image format.",
        "properties" : {
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "This parameter is used to define the image's DPI resolution. The larger the value, the larger the image's x, y resolution. In addition, the larger the DPI resolution, the larger the size of the image file.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum height of the exported image. 0 = No restriction",
            "minimum" : 0
          },
          "jpegQuality" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 80,
            "description" : "When exporting to \"jpg\" format, this parameter can be used to define the image's quality as a percentage. The value must fall between 0 and 100. The larger the value, the better the quality and the lower the compression level.",
            "maximum" : 100,
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "sizeOptimization" : {
            "$ref" : "#/components/schemas/Operation_SizeOptimization"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum width of the exported image. 0 = No restriction",
            "minimum" : 0
          }
        }
      },
      "Operation_KeyPair" : {
        "type" : "object",
        "description" : "Allows the private key for decrypting an asymmetrically encrypted document to be handed over and the associated rights holder (recipient) to be selected by means of the certificate assigned to him. The document can only be decrypted if both are present and the private key and certificate both match and are intended for decrypting the document. When encrypting the document, it is possible to define multiple rights holders, but when decrypting the document as configured here, only a single one of these rights holders can be selected for which the decryption is to be performed.",
        "properties" : {
          "certificate" : {
            "$ref" : "#/components/schemas/Operation_CertificateFileData"
          },
          "privateKey" : {
            "$ref" : "#/components/schemas/Operation_PrivateKeyFileData"
          }
        },
        "required" : [ "certificate", "privateKey" ]
      },
      "Operation_LaunchApplicationAction" : {
        "type" : "object",
        "properties" : {
          "launchApplication" : {
            "type" : "object",
            "description" : "The launchApplication element will open another application or document when activated. The \"applicationPath\" subelement is required. \"launchParameters\" is optional.",
            "properties" : {
              "applicationPath" : {
                "$ref" : "#/components/schemas/Operation_FileSpecification"
              },
              "launchParameters" : {
                "$ref" : "#/components/schemas/Operation_LaunchParameter"
              },
              "newWindow" : {
                "type" : "string",
                "default" : "userPreferences",
                "description" : "Used to select the window in which the application / document should be opened.\n\n*   userPreference = Uses the variant that is normal in the reader application or that has been configured by the user.\n*   newWindow = Forces the application or document to be opened in a new window.\n*   sameWindow = Attempts (if possible) to open the document in the current reader application window.",
                "enum" : [ "userPreferences", "newWindow", "sameWindow" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_OpenMode"
                }
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_LaunchParameter" : {
        "type" : "object",
        "description" : "Used to specify additional arguments for running an application and selecting the file in a platform-specific way (as of this writing, operating systems other than Microsoft Windows are not supported when it comes to passing these arguments).",
        "properties" : {
          "windows" : {
            "$ref" : "#/components/schemas/Operation_WindowsLaunchParameter"
          }
        }
      },
      "Operation_LayerStateSetOCGStateAction" : {
        "type" : "object",
        "properties" : {
          "referencedLayer" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_OCGSelection"
            }
          },
          "state" : {
            "type" : "string",
            "default" : "ON",
            "description" : "The status change that should be carried out upon activation.\n\n*   ON = The layer(s) will be shown.\n*   OFF = The layer(s) will be hidden.\n*   Toggle = The layer visibility will be switched.",
            "enum" : [ "ON", "OFF", "Toggle" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OCGState"
            }
          }
        }
      },
      "Operation_LineAnnotation" : {
        "type" : "object",
        "description" : "An annotation that draws a simple line on a page.",
        "properties" : {
          "border" : {
            "$ref" : "#/components/schemas/Operation_Border"
          },
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "end" : {
            "$ref" : "#/components/schemas/Operation_Point"
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "start" : {
            "$ref" : "#/components/schemas/Operation_Point"
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        },
        "required" : [ "end", "start" ]
      },
      "Operation_MarkedStateAnnotation" : {
        "type" : "object",
        "description" : "An annotation, that provides a \"marked state\" for a selected annotation.",
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "markedState" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Marks or unmarks the annotated note."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.\n\n**Important:** A reply shall always be placed on the same page as it's target annotation. This is mostly providing a hint where to find the selected annotation.",
            "minimum" : 1
          },
          "replyTo" : {
            "type" : "string",
            "default" : "",
            "description" : "Selects the object id of the annotation, that this annotation shall be a reply to. The object id shall be given as a String that may contain either:\n\n*   The numeric object ID itself\n*   The object ID followed by the generation number, separated by a space"
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          }
        }
      },
      "Operation_MarkupAnnotation" : {
        "type" : "object",
        "description" : "An annotation that adds a text markup to a page.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "markupType" : {
            "type" : "string",
            "default" : "highlight",
            "description" : "Used to set the type of markup. The following values are available:\n\n*   highlight = Highlights text\n*   underline = Underlines text with a straight line\n*   strikeOut = Strikes text through\n*   squiggly = Underlines text with a squiggly line",
            "enum" : [ "highlight", "underline", "strikeOut", "squiggly" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_MarkupsAnnotation"
            }
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_PositionMarkupAnnotation"
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Operation_MergeFileData" : {
        "type" : "object",
        "description" : "Contains the BASE64 encoded file that should be inserted or appended. The \"format\" attribute is used to define whether the file is a single PDF document, a ZIP file containing multiple PDF documents or a list of documents references by ID. If a ZIP archive is passed as the source document of the web service request, this parameter can be omitted. The parameter \"sourceIsZip\" must be set to \"true\" in that case.",
        "properties" : {
          "format" : {
            "type" : "string",
            "default" : "pdf",
            "description" : "Specifies the format how to pass the documents to be used for merging.\n\n*   pdf = A single PDF file\n*   zip = It is a ZIP file that contains one or more PDF documents.\n*   id = It is a semicolon separated list of document ID's referencing documents already on the server (REST API only).\n\n**Important:** The \"id\" parameter can be used only with REST API. Each document that has been uploaded to the server via REST API has a unique ID. This ID can be used to reference the document. In the content of the \"data\" element, the list is passed as BASE64 content. Example for two documents:\n\n*   List of documents: 3bde686a47284a2da3bfce62bd6bb8bd;f5c2b314d0c74fd0878d1f4ca310b0ad\n*   BASE64 encoded: M2JkZTY4NmE0NzI4NGEyZGEzYmZjZTYyYmQ2YmI4YmQ7ZjVjMmIzMTRkMGM3NGZkMDg3OGQxZjRjYTMxMGIwYWQ=",
            "enum" : [ "pdf", "zip", "id" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataFormat"
            }
          },
          "outlineName" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the base path that should be used for outline nodes of the appended document. This parameter can contain a slash separated path and should ideally end with the name of the document (\"A/B/filename\"). If this parameter is not set, all outlines will be appended to the root outline node."
          },
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_NamedAction" : {
        "type" : "object",
        "properties" : {
          "executeNamed" : {
            "type" : "object",
            "description" : "The executeNamed action executes a prepared action that is known to the reader application with a specific name. There are certain standard actions that should be known to any reader application. However, an application can have other defined names as well. The actions' execution and what it does are defined exclusively by the reader application, meaning that the resulting behaviour can vary completely from one application to another.",
            "properties" : {
              "namedOperation" : {
                "type" : "string",
                "default" : "",
                "description" : "The name of the action that should be run. The following are standard names that any reader application should know:\n\n*   NextPage = Jumps to the next page\n*   PrevPage = Jumps to the previous page\n*   FirstPage = Jump to the first page\n*   LastPage = Jump to the last page"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_NamedDestination" : {
        "type" : "object",
        "properties" : {
          "goToNamed" : {
            "type" : "object",
            "description" : "The goToNamed element is used to specify a location within the document. It will jump to a specified and already defined place in the document (this element can only be used to reference the location, but not to define a new location).",
            "properties" : {
              "name" : {
                "type" : "string",
                "default" : "",
                "description" : "The name of the location to which the jump will be."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_OCGSelection" : {
        "type" : "object",
        "description" : "A \"layerState\" element can contain 1 to n \"referencedLayer\" elements that activate one document layer each.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the layer that should be activated."
          }
        }
      },
      "Operation_ObjectKeyReplyToAnnotationEdit" : {
        "type" : "object",
        "description" : "Selects the \"reply to\" annotation by object ID.",
        "properties" : {
          "id" : {
            "type" : "string",
            "default" : "",
            "description" : "The object id shall be given as a String that may contain either:\n\n*   The numeric object ID itself\n*   The object ID followed by the generation number, separated by a space"
          }
        }
      },
      "Operation_ObjectKeySelectionAnnotation" : {
        "type" : "object",
        "description" : "Selects the annotation by object ID.",
        "properties" : {
          "id" : {
            "type" : "string",
            "default" : "",
            "description" : "The object id shall be given as a String that may contain either:\n\n*   The numeric object ID itself\n*   The object ID followed by the generation number, separated by a space"
          }
        }
      },
      "Operation_Ocr" : {
        "type" : "object",
        "description" : "The \"OCR\" web service can be used to run character recognition in PDF documents or images. If recognition is run on images, they will be converted to PDF documents. More specifically, a page will be generated for each image in the PDF document, with this page containing the original image and a text layer with the recognized text. Character recognition on PDF documents will only work with documents that do not contain text already. Normally, these will be documents that were generated by scanners and that only have an image per page in the PDF document.",
        "properties" : {
          "checkResolution" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If \"true,\" then the DPI resolution of the output file will be checked. Resolutions of less than 200 DPI are rejected in this check because as a rule, they do not produce good results for character recognition."
          },
          "failOnWarning" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", character recognition will fail even in the event of warnings that do not prevent recognition, but that make it very unlikely for a meaningful result to be generated."
          },
          "forceEachPage" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If a PDF document contains text content on any page, the web service will refuse to run character recognition again. If, however, a value of \"true\" is passed for this option, all the pages in the document will be considered individually and character recognition will be run on all pages that do not contain text (layers) so that a new layer with text will be generated for them."
          },
          "imageDpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 200,
            "description" : "Used to set the minimum resolution images will be embedded with in resulting PDF documents. When a value of 0 is set for this parameter, the images shall be embedded using resolutions and dimensions as close as possible to the original source images.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "jpegQuality" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 75,
            "description" : "A percentage that sets the compression ratio and influences the quality of JPEG images, that shall be embedded in resulting PDF documents. Higher values will result in less compressed images of higher quality.",
            "maximum" : 100,
            "minimum" : 0
          },
          "language" : {
            "type" : "string",
            "default" : "eng",
            "description" : "Used to specify the language for the output document (PDF/image). The language must be defined for the character recognition operation (OCR) so that the \"special characters\" of the respective language (e.g. \"üäö\" in German) can be recognized better. At present, the following languages are supported:\n\n*   eng = English\n*   fra = French\n*   spa = Spanish\n*   deu = German\n*   ita = Italian",
            "enum" : [ "eng", "deu", "fra", "ita", "spa" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OcrLanguage"
            }
          },
          "normalizePageRotation" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true\", then, for the recognition of a rotated text, the system will attempt to rotate the page in such a way that the text in the document will not appear to be rotated and will be shown \"upright.\""
          },
          "ocrMode" : {
            "type" : "string",
            "default" : "pageSegments",
            "description" : "Specifies the mode used to find structured text on the pages. Depending on which mode is chosen, different requirements are set for the text and different assumptions are made about the text.\n\n*   pageSegments = The text on the page is clearly structured and decomposable into clear paragraphs and layout segments. Overlapping of text elements/lines does not occur. Headings and thus texts with deviating text sizes and font set, could be present.\n*   column = The text is arranged on the pages in several, more or less uniform columns, next to each other. Font and text size are mostly uniform.\n*   unfiltered = No assumptions are made about the text, any letters that can be found are recognized as such, regardless of whether they can be assigned to a text column, or line, or even a word. Font size and typeface can vary absolutely and texts are not necessarily arranged in clearly recognizable columns or according to a fixed layout. Texts and lines can overlap. (This mode usually recognizes more text (especially with more complex layouts), but usually also generates the most error detections, since no result is sorted out due to its deviation from the norm.",
            "enum" : [ "pageSegments", "column", "unfiltered" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OcrMode"
            }
          },
          "optimization" : {
            "$ref" : "#/components/schemas/Operation_ImageOptimization"
          },
          "outputFormat" : {
            "type" : "string",
            "default" : "pdf",
            "description" : "Different output formats can be created during character recognition. Generally, the document is generated as a PDF document, but the output can also be as an ASCII document or an XML document if desired (HOCR).\n\n*   text = Text\n*   hocr = XML (hOCR)\n*   pdf = PDF",
            "enum" : [ "text", "hocr", "pdf" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_OcrOutput"
            }
          },
          "page" : {
            "$ref" : "#/components/schemas/Operation_OcrPage"
          },
          "pdfa" : {
            "$ref" : "#/components/schemas/Operation_Pdfa"
          }
        }
      },
      "Operation_OcrOperation" : {
        "type" : "object",
        "properties" : {
          "billing" : {
            "$ref" : "#/components/schemas/Operation_Billing"
          },
          "ocr" : {
            "$ref" : "#/components/schemas/Operation_Ocr"
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PdfPassword"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_Settings"
          }
        },
        "required" : [ "ocr" ]
      },
      "Operation_OcrPage" : {
        "type" : "object",
        "description" : "If images are converted to PDF documents during the character recognition process, the size of the page will be computed based on the size of the image and the DPI resolution. This element can be used to specify a custom page size instead.",
        "properties" : {
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 297,
            "description" : "Height of the page in the PDF document.",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 210,
            "description" : "Width of the page in the PDF document.",
            "minimum" : 0
          }
        }
      },
      "Operation_OfficeBridge" : {
        "type" : "object",
        "description" : "Used to specify whether \"Office Bridge\" should be used when converting Word, Excel and PowerPoint documents. If this element is set (and Office Bridge is enabled in the server configuration), the document will be converted using the Office software installed on the server."
      },
      "Operation_OptionsFont" : {
        "type" : "object",
        "description" : "Used to specify the font and formatting for the header and footer.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "#000000",
            "description" : "Used to set the colour for the text output. The colour needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the font that should be used for the text output. If a font is not specified, \"Helvetica\" will be used."
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "Used to set the text size for the text output.",
            "maximum" : 1296,
            "minimum" : 1
          },
          "underline" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the text in the header and footer will be underlined."
          }
        }
      },
      "Operation_OptionsMargin" : {
        "type" : "object",
        "description" : "Defines the outer offsets between an inner element and an outer element.",
        "properties" : {
          "bottom" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The offset from the bottom edge of the surrounding element."
          },
          "left" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The offset from the left edge of the surrounding element."
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "right" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The offset from the right edge of the surrounding element."
          },
          "top" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The offset from the upper edge of the surrounding element."
          }
        }
      },
      "Operation_PaddedRectangle" : {
        "type" : "object",
        "description" : "Used to select a rectangle and define a padding for it's contents.",
        "properties" : {
          "bottom" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The bottom padding value."
          },
          "coordinates" : {
            "type" : "string",
            "default" : "user",
            "description" : "Used to define the coordinate system and, accordingly, the origin for the position arguments.\n\n*   user = User coordinate system (origin at top left)\n*   pdf = PDF coordinate system (origin at bottom left)",
            "enum" : [ "pdf", "user" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Coordinates"
            }
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The height dimension.",
            "minimum" : 0
          },
          "left" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The left padding value."
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "right" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The right padding value."
          },
          "top" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The top padding value."
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The width dimension.",
            "minimum" : 0
          }
        }
      },
      "Operation_PageInterval" : {
        "type" : "object",
        "description" : "Used to define the document page range to which new elements should be added. Can be used to define a fixed interval from one page to another page.",
        "properties" : {
          "even" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If true, the elements are also placed on even-numbered pages."
          },
          "odd" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If true, the elements are also placed on pages with odd-numbered pages."
          },
          "pages" : {
            "type" : "string",
            "default" : "*",
            "description" : "Defines the pages of the PDF document to which new elements should be added. Either a single page or a range of pages (e.g., \"1-5\") can be defined. (Can only be used to define a single contiguous interval of consecutive pages.)"
          }
        }
      },
      "Operation_PageTransitionsToolboxOptions" : {
        "type" : "object",
        "description" : "Can be used to change the document's page transition animations. You can use multiple operations of this type in order to define various transitions for various page ranges in a single step.",
        "properties" : {
          "add" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_AddPageTransitions"
            }
          },
          "remove" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_RemovePageTransitions"
            }
          }
        }
      },
      "Operation_PagesBackgroundBaseSettings" : {
        "type" : "object",
        "description" : "Selects the pages to which backgrounds shall be applied.",
        "properties" : {
          "pageInterval" : {
            "$ref" : "#/components/schemas/Operation_PageInterval"
          }
        }
      },
      "Operation_PagesHeaderFooter" : {
        "type" : "object",
        "description" : "Selects the pages, to which header/footer elements shall be applied.",
        "properties" : {
          "pageInterval" : {
            "$ref" : "#/components/schemas/Operation_PageInterval"
          }
        }
      },
      "Operation_PasswordEncrypt" : {
        "type" : "object",
        "description" : "Used to set the password for encryption and the encryption key length.",
        "properties" : {
          "encryptionKey" : {
            "type" : "string",
            "default" : "RC4_128",
            "description" : "Sets the encryption level for the document.\n\n*   RC4\\_40 = 40-bit RC4\n*   RC4\\_128 = 128-bit RC4\n*   AES\\_128 = 128-bit AES\n*   AES\\_256 = 256-bit AES\n\n**Important:** Please note that the option \"256-bit AES\" only works if the \"Java Cryptography Extension (JCE)\" has been enabled with \"Unlimited Strength\" in the JVM. You can obtain the modified \"Policy Files\" (along with instructions for installation) from the Oracle website: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html",
            "enum" : [ "RC4_40", "RC4_128", "AES_128", "AES_256" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfEncryptionKey"
            }
          },
          "open" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the password that will be requested if the PDF document is opened for reading."
          },
          "permission" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the password that will be requested if the file is opened for editing (e.g., when removing pages). The password is required to enable the individual access permissions and must not be blank if the access permissions are to be used.\n\n**Important:** Please note that the password and the associated access permissions will only provide protection if an appropriate display program for PDF documents takes these settings into account."
          }
        }
      },
      "Operation_Pdf417Barcode" : {
        "type" : "object",
        "description" : "A PDF417 barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "compact" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to \"true,\" the contents of all generated PDF417 barcodes will be compressed using the encoding selected with the \"compactionMode\" attribute."
          },
          "compactionMode" : {
            "type" : "string",
            "default" : "auto",
            "description" : "If PDF417 barcode compression has been enabled with the \"compact\" attribute, the encoding selected here for the compression of generated PDF417 barcodes will be used.\n\n*   auto = Try to determine the best encoding method automatically.\n*   byte = Select a byte encoding method in which every 5 codewords represent 6 bytes.\n*   numeric = Select a numeric encoding method in which a group of 15 codewords represents up to 44 decimal numbers.\n*   text = Select a text encoding method in which each codeword represents up to 2 letters.",
            "enum" : [ "text", "numeric", "byte", "auto" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Pdf417CompactionMode"
            }
          },
          "dataCodewordsMax" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the maximum number of codewords allowed in a single PDF417 barcode row.",
            "minimum" : 1
          },
          "dataCodewordsMin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the minimum number of codewords allowed in a single PDF417 barcode row.",
            "minimum" : 1
          },
          "errorCorrection" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Used to adjust the error correction level for generated PDF417 codes. The higher the level, the more error-resistant the barcode, ensuring that damaged codes will still be readable. A level of 1 to 8 can be specified.",
            "maximum" : 8,
            "minimum" : 1
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "shape" : {
            "type" : "string",
            "default" : "default",
            "description" : "Can be used to force a specific shape for generated Data Matrix codes.\n\n*   default = The appropriate shape is selected automatically based on the content, character set, and other parameters.\n*   rectangle = Force a rectangular shape.\n*   square = Force a square shape.",
            "enum" : [ "default", "rectangle", "square" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_DataMatrixShape"
            }
          },
          "symbolsPerCodewordMax" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the maximum number of code symbols that are allowed to be in a single codeword in the PDF417 barcode.",
            "minimum" : 1
          },
          "symbolsPerCodewordMin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the minimum number of code symbols that are allowed to be in a single codeword in the PDF417 barcode.",
            "minimum" : 1
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_PdfPassword" : {
        "type" : "object",
        "description" : "The `password` element can be used to set the user and owner passwords or certificates for the PDF document which are needed if the PDF document is protected. For example, if a protected PDF document is to be edited with the web service, then these settings can be used to provide the password or certificates for access.",
        "properties" : {
          "keyPair" : {
            "$ref" : "#/components/schemas/Operation_KeyPair"
          },
          "open" : {
            "type" : "string",
            "default" : "",
            "description" : "A password that is required to open the document. If the provided PDF document is protected in such a way that a password (user password) is required to read the document, the corresponding password must also be passed. Without this password it is not possible to edit the document with the web service, because it cannot be read."
          },
          "permission" : {
            "type" : "string",
            "default" : "",
            "description" : "A password that allows \"editing access\" to the document. If the provided PDF document is password protected and the web service operation is to edit the document, then the appropriate password (owner password) must be provided to unlock the document."
          }
        }
      },
      "Operation_Pdfa" : {
        "type" : "object",
        "description" : "When using the \"Pdfa\" web service, both the `<convert>` and `<analyze>` operations can be used.\n\nThe `convert` operation is used to convert PDF documents to PDF/A, while the `analyze` operation is used to validate existing PDF/A documents.",
        "properties" : {
          "analyze" : {
            "$ref" : "#/components/schemas/Operation_AnalyzePdfa"
          },
          "convert" : {
            "$ref" : "#/components/schemas/Operation_ConvertPdfa"
          }
        }
      },
      "Operation_PdfaErrorCorrection" : {
        "type" : "object",
        "description" : "This parameter can be used to optionally activate automatic error correction. If a PDF/A conversion does not work, this may be due to defective PDF syntax structures in the source document. If error correction is enabled then an attempt will be made to correct these syntax errors automatically.\n\n**Important:** If the conversion of an existing PDF document to a certain level (e.g. PDF/A-1) does not work, then there must not always be syntax errors in the document. It may also be that the source document does not have all the necessary content (e.g. missing font embedding) that is mandatory for conversion to a certain level. In this case it may be sufficient to switch to a different PDF/A level. Therefore, the conversion report should always be checked first to see if there is really a defective source document before activating error correction. Error correction tries to correct syntax errors such as defective XREF tables or defective objects (defective data streams) in the PDF structure. First the PDF/conversion is performed normally. If errors are then detected so that a valid PDF/A is not created, an attempt is made to perform error correction. If the error correction works, a second pass of the PDF/A conversion is performed. If this run works, then the corresponding PDF/A document is delivered. If not, the corresponding error code and possibly the error report will be delivered.\n\n**Important:** If error correction is active, then visual and/or content deviations may occur in the converted PDF/A document. If you activate this option, then the resulting document should be checked in any case. It is recommended to perform the PDF/A conversion first without activating the error correction to be sure that the document is not visually and contentwise changed after the conversion. Only if the conversion was not possible (and the error report was checked) should the option be activated in a second call. The PDF/A document of the second call should be checked for visual and content problems.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Enables or disables error correction. If the option is set to \"true\" then PDF syntax errors in the PDF document will be corrected during PDF/A conversion."
          }
        }
      },
      "Operation_PdfaOperation" : {
        "type" : "object",
        "properties" : {
          "billing" : {
            "$ref" : "#/components/schemas/Operation_Billing"
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PdfPassword"
          },
          "pdfa" : {
            "$ref" : "#/components/schemas/Operation_Pdfa"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_Settings"
          }
        },
        "required" : [ "pdfa" ]
      },
      "Operation_PdfaSettings" : {
        "type" : "object",
        "description" : "The `pdfa` element allows to make settings for automatic handling of PDF/A documents. Editing a PDF/A document will most likely render it invalid, thus the web service operation checks whether it´s execution is valid for a given PDF/A document according to these settings.",
        "properties" : {
          "pdfaEditProfile" : {
            "type" : "string",
            "default" : "removePdfaMetadata",
            "description" : "Defines the profile whose rules web services have to check before they can come to execution. These profiles define a set of rules concerning the validity of PDF/A documents. A web service whose execution for a given PDF/A document would violate the rule set selected here should instead abort with an appropriate error code.\n\n*   generalEditRestrictions = All changes to PDF/A documents are prohibited.\n*   removePdfaMetadata = All changes to PDF/A documents are allowed, but the PDF/A state of the document is revoked. (By removing the PDF/A metadata.)\n*   noEditRestrictions = All changes to PDF/A documents are allowed, without touching the PDF/A state of the document. (Risking the invalidation of the document.)",
            "enum" : [ "generalEditRestrictions", "removePdfaMetadata", "noEditRestrictions" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PdfaEditProfile"
            }
          }
        }
      },
      "Operation_Png" : {
        "type" : "object",
        "description" : "Defines a target PNG image format.",
        "properties" : {
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "This parameter is used to define the image's DPI resolution. The larger the value, the larger the image's x, y resolution. In addition, the larger the DPI resolution, the larger the size of the image file.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum height of the exported image. 0 = No restriction",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum width of the exported image. 0 = No restriction",
            "minimum" : 0
          }
        }
      },
      "Operation_Point" : {
        "type" : "object",
        "description" : "Used to select a point.",
        "properties" : {
          "coordinates" : {
            "type" : "string",
            "default" : "user",
            "description" : "Used to define the coordinate system and, accordingly, the origin for the position arguments.\n\n*   user = User coordinate system (origin at top left)\n*   pdf = PDF coordinate system (origin at bottom left)",
            "enum" : [ "pdf", "user" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Coordinates"
            }
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "x" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "X-axis position.",
            "minimum" : 0
          },
          "y" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Y-axis position.",
            "minimum" : 0
          }
        }
      },
      "Operation_PortfolioAdd" : {
        "type" : "object",
        "description" : "Adds a document to the portfolio.",
        "properties" : {
          "file" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_PortfolioFile"
            }
          },
          "folder" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_PortfolioFolder"
            }
          },
          "initialDocumentPath" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the path/folder where the initially shown document is stored in the portfolio.\n\n**Important:** The \"path\" and \"fileName\" parameters follow and implement the glob selection patterns for files and paths. Which is: A portfolio path is defined by \"/\" separated nested folder names."
          },
          "initialFileName" : {
            "type" : "string",
            "default" : "",
            "description" : "Select the name of the initially shown document.\n\n**Important:** The \"path\" and \"fileName\" parameters follow and implement the glob selection patterns for files and paths. Which is: A portfolio path is defined by \"/\" separated nested folder names."
          }
        }
      },
      "Operation_PortfolioExtract" : {
        "type" : "object",
        "description" : "Extracts one or more documents from the portfolio. The result will be returned as a ZIP document. The ZIP document will not only contain the extracted files, but will also reproduce the folder structure in which the documents were found.",
        "properties" : {
          "selection" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_PortfolioSelection"
            }
          },
          "singleFileAsZip" : {
            "type" : "boolean",
            "default" : true,
            "description" : "The returned attachments will be generated as a ZIP file even if selection is used to select only one single file. You can change this behaviour by setting this option to \"false\". In this case, the file will not be zipped, and will instead be returned directly as is. However, this will only work if selection has been used to select one file and one file only."
          }
        }
      },
      "Operation_PortfolioFile" : {
        "type" : "object",
        "description" : "Used to define an individual document that should be added to the portfolio. This element can be used multiple times if you want to add multiple documents.",
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "The creator of the portfolio entry."
          },
          "data" : {
            "$ref" : "#/components/schemas/Operation_PortfolioFileData"
          },
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the name under which the document is stored in the portfolio."
          },
          "mimeType" : {
            "type" : "string",
            "default" : "",
            "description" : "The MIME type of the portfolio entry."
          },
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the path/folder where the document is stored in the portfolio.\n\n**Important:** A portfolio path is defined by the \"/\" separated nested folder names."
          }
        },
        "required" : [ "data" ]
      },
      "Operation_PortfolioFileData" : {
        "type" : "object",
        "description" : "Contains the file to be attached in \"Base64 encoded\" format.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_PortfolioFolder" : {
        "type" : "object",
        "description" : "Used to define an individual folder that should be added to the portfolio. This element can be used multiple times if you want to add multiple folders.",
        "properties" : {
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the path/folder where the document will be stored in the portfolio.\n\n**Important:** A portfolio path is defined by the \"/\" separated nested folder names."
          }
        }
      },
      "Operation_PortfolioRemove" : {
        "type" : "object",
        "description" : "Removes one or more documents from the portfolio.",
        "properties" : {
          "initialDocumentPath" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the path/folder where the initially shown document is stored in the portfolio.\n\n**Important:** The \"path\" and \"fileName\" parameters follow and implement the glob selection patterns for files and paths. Which is: A portfolio path is defined by \"/\" separated nested folder names."
          },
          "initialFileName" : {
            "type" : "string",
            "default" : "",
            "description" : "Select the name of the initially shown document.\n\n**Important:** The \"path\" and \"fileName\" parameters follow and implement the glob selection patterns for files and paths. Which is: A portfolio path is defined by \"/\" separated nested folder names."
          },
          "selection" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_PortfolioSelection"
            }
          }
        }
      },
      "Operation_PortfolioSelection" : {
        "type" : "object",
        "description" : "Used to select documents that match the selection rules and that should be processed (extracted / deleted) accordingly. You can use multiple selection elements.",
        "properties" : {
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "Filters by file name for the selection. \"\\*.xls\", for example, would result in all XLS documents being selected. Meanwhile, \"xyz.json\" would result in attachments named \"xyz.json\" being selected (for extraction / deletion).\n\n**Important:** The \"path\" and \"fileName\" parameters follow and implement the glob selection patterns for files and paths."
          },
          "path" : {
            "type" : "string",
            "default" : "",
            "description" : "Filters by path for the selection. \"a/b/\\*\", for example, would result in all a/b subfolders being searched for matching documents. Whether a document will be considered a match will also depend on the \"fileName\" parameter. If the \"fileName\" parameter is not set, this parameter can be used to select the path instead (for extraction / deletion)"
          }
        }
      },
      "Operation_PortfolioSort" : {
        "type" : "object",
        "description" : "Used to define a sorting schema for the portfolio.\n\n**Important:** The order of the sorting criteria does matter and the sorting precedence will follow the given sequence.\n\n**Important:** Should an old sorting schema be found, it will be removed and replaced.",
        "properties" : {
          "namedCriteria" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_PortfolioSortPredefinedCriterion"
            }
          }
        }
      },
      "Operation_PortfolioSortPredefinedCriterion" : {
        "type" : "object",
        "description" : "Selects a predefined sorting criterion to apply to entries of the portfolio, when determining display order.",
        "properties" : {
          "ascending" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Sets whether the schema criterion shall be applied in ascending or descending order."
          },
          "displayName" : {
            "type" : "string",
            "default" : "",
            "description" : "Selects the display name for the sorting criterion."
          },
          "key" : {
            "type" : "string",
            "default" : "fileName",
            "description" : "Selects a predefined sorting criterion. The following values are available:\n\n*   fileName = The name of the portfolio entry.\n*   description = The description of the portfolio entry.\n*   size = The actual size of the file.\n*   creationDate = The creation date of the portfolio entry.\n*   modificationDate = The date of the last modification of the portfolio entry.\n*   compressedSize = The compressed size of the portfolio entry.\n*   order = The order of addition of the portfolio entry.",
            "enum" : [ "fileName", "description", "size", "creationDate", "modificationDate", "compressedSize", "order" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PortfolioSortPredefinedCriterionKey"
            }
          }
        }
      },
      "Operation_PositionBackgroundBaseSettings" : {
        "type" : "object",
        "description" : "Used to define the position of the background layer.",
        "properties" : {
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "position" : {
            "type" : "string",
            "default" : "center_center",
            "description" : "Uses one of multiple preset positions in order to position the background on the page.\n\n*   custom = Disable the use of a preset position.\n*   top\\_left = Positions the background in the top left corner.\n*   top\\_center = Positions the background in the centre on the top margin.\n*   top\\_right = Positions the background in the top right corner.\n*   center\\_left = Positions the background at the centre of the page, to the left.\n*   center\\_center = Positions the background at the centre of the page.\n*   center\\_right = Positions the background at the centre of the page, to the right.\n*   bottom\\_left = Positions the background in the bottom left corner.\n*   bottom\\_center = Positions the background in the centre on the bottom margin.\n*   bottom\\_right = Positions the background in the bottom right corner.",
            "enum" : [ "custom", "top_left", "top_center", "top_right", "center_left", "center_center", "center_right", "bottom_left", "bottom_center", "bottom_right" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_BackgroundPositionMode"
            }
          },
          "x" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "X-axis position of rectangle.",
            "minimum" : 0
          },
          "y" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Y-axis position of rectangle.",
            "minimum" : 0
          }
        }
      },
      "Operation_PositionFreeTextAnnotation" : {
        "type" : "object",
        "description" : "Used to select the bounds within which the shape shall be positioned.",
        "properties" : {
          "rectangle" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          }
        }
      },
      "Operation_PositionMarkupAnnotation" : {
        "type" : "object",
        "description" : "Used to define the pathelements in which the annotation shall be positioned.",
        "properties" : {
          "pathElement" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Rectangle"
            }
          },
          "quadrilateral" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Quadrilateral"
            }
          }
        }
      },
      "Operation_PositionRedactAnnotation" : {
        "type" : "object",
        "description" : "Used to define the pathelements in which the annotation shall be positioned.",
        "properties" : {
          "pathElement" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Rectangle"
            }
          },
          "quadrilateral" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Quadrilateral"
            }
          }
        }
      },
      "Operation_PositionRubberStampAnnotation" : {
        "type" : "object",
        "description" : "Used to select the bounds within which the shape shall be positioned.",
        "properties" : {
          "rectangle" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          }
        }
      },
      "Operation_PositionSimpleShapeAnnotation" : {
        "type" : "object",
        "description" : "Used to select the bounds within which the shape shall be positioned.",
        "properties" : {
          "rectangle" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          }
        }
      },
      "Operation_PrivateKeyFileData" : {
        "type" : "object",
        "description" : "Allows the private key to be passed (as a PEM file), for decryption of an asymmetrically encrypted document. The transfer of multiple private keys or other structures is not provided for at this point; exactly one private key is expected for decrypting the document. The rights recipient must already be assigned to the document when the document is encrypted. The certificate and private key must therefore be selected in such a way that they map a rights recipient who was entered in this document when it was encrypted.",
        "properties" : {
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "If the private key itself is encrypted (recommended), this password allows read access to the key to make it available for decrypting the document."
          },
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Operation_ProtocolsHttpSettingsSSL" : {
        "type" : "object",
        "description" : "Defines the allowed TLS protocols for the HTTP requests.",
        "properties" : {
          "protocol" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "default" : "TLSv1.2",
              "description" : "Sets the TLS protocol type for SSL connections.",
              "enum" : [ "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" ],
              "x-webpdf-codegen" : {
                "enumName" : "Operation_HttpSettingsSSLProtocol"
              }
            }
          }
        },
        "required" : [ "protocol" ]
      },
      "Operation_QrBarcode" : {
        "type" : "object",
        "description" : "A QR barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "errorCorrection" : {
            "type" : "string",
            "default" : "l",
            "description" : "Used to adjust the error correction level for generated QR codes. The higher the level, the more error-resistant the barcode, ensuring that damaged codes will still be readable.\n\n*   l = Low\n*   m = Medium\n*   q = Quartile\n*   h = High",
            "enum" : [ "l", "m", "q", "h" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_QrCodeErrorCorrection"
            }
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_QrSwissPaymentBarcode" : {
        "type" : "object",
        "description" : "A swiss QR payment barcode.",
        "properties" : {
          "content" : {
            "$ref" : "#/components/schemas/Operation_QrSwissPaymentContent"
          },
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 200,
            "description" : "Used to select the resolution of the barcode."
          },
          "format" : {
            "type" : "string",
            "default" : "codeOnly",
            "description" : "Used to select the parts, that shall be included in the barcode.\n\n*   codeOnly = Only the barcode itself shall be shown.\n*   billOnly = The barcode and the payment summary shall be shown.\n*   billPortraitSheet = The dimensions of the barcode and the payment summary shall be optimized for placement in the lower left corner of a page in DIN-A4 format.\n*   billExtraSpace = The same as \"billPortraitSheet\", but with extra spacings.",
            "enum" : [ "codeOnly", "billOnly", "billPortraitSheet", "billExtraSpace" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_QrSwissPaymentFormat"
            }
          },
          "language" : {
            "type" : "string",
            "default" : "de",
            "description" : "Selects the language of the barcode's payment summary.\n\n*   de = german\n*   fr = french\n*   it = italian\n*   en = english",
            "enum" : [ "de", "fr", "it", "en" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_QrSwissPaymentLanguage"
            }
          },
          "pdf" : {
            "$ref" : "#/components/schemas/Operation_QrSwissPaymentPdf"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "separator" : {
            "type" : "string",
            "default" : "dashedLineWithScissors",
            "description" : "The border style for separators in between the different parts of the barcode.\n\n*   none = No separator shall be used.\n*   solidLine = A solid separator line.\n*   solidLineWithScissors = A solid separator line with a scissor icon.\n*   dashedLine = A dashed separator line.\n*   dashedLineWithScissors = A dashed separator line with a scissor icon.\n*   dottedLine = A dotted separator line.\n*   dottedLineWithScissors = A dotted separator line with a scissor icon.",
            "enum" : [ "none", "solidLine", "solidLineWithScissors", "dashedLine", "dashedLineWithScissors", "dottedLine", "dottedLineWithScissors" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_QrSwissPaymentSeparator"
            }
          }
        },
        "required" : [ "content" ]
      },
      "Operation_QrSwissPaymentContent" : {
        "type" : "object",
        "description" : "Used to select the content encoded in the barcode.",
        "properties" : {
          "format" : {
            "type" : "string",
            "default" : "json",
            "description" : "Selects the format of the encoded data.\n\n*   plain = The code shall contain plain text.\n*   json = The code shall contain structured json data.",
            "enum" : [ "plain", "json" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_QrSwissPaymentContentFormat"
            }
          },
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_QrSwissPaymentPdf" : {
        "type" : "object",
        "description" : "Used to position the barcode in a PDF document.",
        "properties" : {
          "mode" : {
            "type" : "string",
            "default" : "appendAtEnd",
            "description" : "Selects the page relative position to place the barcode at.\n\n*   insertBefore = Places the barcode on a new, empty page before the selected page.\n*   appendAtEnd = Places the barcode on a new, empty page at the end of the document.\n*   addToPage = Place the barcode on the selected page.",
            "enum" : [ "insertBefore", "appendAtEnd", "addToPage" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_QrSwissPaymentPdfMode"
            }
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "The number of the page, the barcode shall be placed at or relative to. (depending on the selected placement \"mode\".)"
          }
        }
      },
      "Operation_Quadrilateral" : {
        "type" : "object",
        "description" : "Selects a rectangular area via it's 4 determining corner points.\n\n**important:** The quadrilateral's points shall be defined in the clockwise order: top-left, top-right, bottom-right, bottom-left\n\n**important:** Even though the PDF standard defines algorithms, that can handle self intersecting and overlapping quadrilaterals, such should be avoided to prevent unexpected results.",
        "properties" : {
          "point" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_Point"
            }
          }
        }
      },
      "Operation_Recipient" : {
        "type" : "object",
        "description" : "Defines a rights recipient (Recipient) for the document to be encrypted. Recipients are defined on the basis of their rights and a certificate and are identified and distinguished on the basis of the certificate. Only with the associated \"PrivateKey\" and a certificate listed here can a user subsequently decrypt and open the document again. Exactly one certificate is expected for encryption for each rights recipient. However, it is possible to define multiple rights recipients\n\n*   each with their own certificate.",
        "properties" : {
          "canAssemble" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" the document can be rearranged (e.g., pages can be deleted, inserted, and rotated)."
          },
          "canExtractContent" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" content can be extracted (copied) from the document."
          },
          "canExtractForAccessibility" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" content can be extracted (copied) for accessibility purposes."
          },
          "canFillInForm" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" form fields can be filled out and the document can be signed."
          },
          "canModify" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" changes to the document are permitted."
          },
          "canModifyAnnotations" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" comments can be added to the document and deleted from the document."
          },
          "canPrint" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" the document can be printed."
          },
          "canPrintHighRes" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" the document can be printed at high resolution levels."
          },
          "certificate" : {
            "$ref" : "#/components/schemas/Operation_CertificateFileData"
          }
        },
        "required" : [ "certificate" ]
      },
      "Operation_Rectangle" : {
        "type" : "object",
        "description" : "Used to select a rectangle.",
        "properties" : {
          "coordinates" : {
            "type" : "string",
            "default" : "user",
            "description" : "Used to define the coordinate system and, accordingly, the origin for the position arguments.\n\n*   user = User coordinate system (origin at top left)\n*   pdf = PDF coordinate system (origin at bottom left)",
            "enum" : [ "pdf", "user" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Coordinates"
            }
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Height of the rectangle.",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Width of the rectangle.",
            "minimum" : 0
          },
          "x" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "X-axis position.",
            "minimum" : 0
          },
          "y" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Y-axis position.",
            "minimum" : 0
          }
        }
      },
      "Operation_RedactAnnotation" : {
        "type" : "object",
        "description" : "An annotation that marks page content for redaction.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "interiorColor" : {
            "type" : "string",
            "default" : "#000000",
            "description" : "The annotation color will change the interior color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_PositionRedactAnnotation"
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Operation_RemoveBackground" : {
        "type" : "object",
        "description" : "Removes background layers from all pages of a document. As of this writing, this operation does not have any additional parameters. The \"backgroundSelection\" element, which must be included without fail, is meant simply as a placeholder for potential future detailed parameters.",
        "properties" : {
          "backgroundSelection" : {
            "$ref" : "#/components/schemas/Operation_SelectionBackground"
          }
        }
      },
      "Operation_RemoveBoxes" : {
        "type" : "object",
        "properties" : {
          "boxesRemove" : {
            "$ref" : "#/components/schemas/Operation_SelectionBox"
          }
        }
      },
      "Operation_RemoveHeaderFooter" : {
        "type" : "object",
        "description" : "Removes header and footer definitions from all pages of a document. As of this writing, this operation does not have any additional parameters. The \"headerFooterSelection\" element, which must be included without fail, is meant simply as a placeholder for potential future detailed parameters.",
        "properties" : {
          "headerFooterSelection" : {
            "$ref" : "#/components/schemas/Operation_SelectionHeaderFooter"
          }
        }
      },
      "Operation_RemovePageTransitions" : {
        "type" : "object",
        "properties" : {
          "transitionSelection" : {
            "$ref" : "#/components/schemas/Operation_SelectionTransition"
          }
        }
      },
      "Operation_RemoveToolboxAnnotation" : {
        "type" : "object",
        "description" : "Used to select annotations for removal.",
        "properties" : {
          "flatten" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Set to true to flatten the selected annotations.\n\n**Important:** flattening means, the interactive annotation objects will be removed and only their visual representation will remain in the page content of the resulting document."
          },
          "selection" : {
            "$ref" : "#/components/schemas/Operation_SelectionRemove"
          }
        },
        "required" : [ "selection" ]
      },
      "Operation_RemoveToolboxAttachment" : {
        "type" : "object",
        "description" : "Used to remove one or more attachments from the document.",
        "properties" : {
          "selection" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_SelectionAttachment"
            }
          }
        }
      },
      "Operation_RemoveToolboxOutline" : {
        "type" : "object",
        "description" : "Selects outline entries for removal.",
        "properties" : {
          "item" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_ItemReference"
            }
          }
        }
      },
      "Operation_ReplyStateAnnotation" : {
        "type" : "object",
        "description" : "An annotation, that provides a \"reply state\" for a selected annotation.",
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.\n\n**Important:** A reply shall always be placed on the same page as it's target annotation. This is mostly providing a hint where to find the selected annotation.",
            "minimum" : 1
          },
          "replyState" : {
            "type" : "string",
            "default" : "none",
            "description" : "Adds a mark for further processing suggestions/instructions to a commenting annotation.\n\n*   accepted = The user agrees with the change.\n*   rejected = The user disagrees with the change.\n*   cancelled = The change has been cancelled.\n*   completed = The change has been completed.\n*   none = The user did not set a state.",
            "enum" : [ "accepted", "rejected", "cancelled", "completed", "none" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ReplyState"
            }
          },
          "replyTo" : {
            "type" : "string",
            "default" : "",
            "description" : "Selects the object id of the annotation, that this annotation shall be a reply to. The object id shall be given as a String that may contain either:\n\n*   The numeric object ID itself\n*   The object ID followed by the generation number, separated by a space"
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          }
        }
      },
      "Operation_ReplyToAnnotation" : {
        "type" : "object",
        "description" : "An annotation, that represents a textual reply to another annotation.",
        "properties" : {
          "comment" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to set the textual comment/reply to display."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.\n\n**Important:** A reply shall always be placed on the same page as it's target annotation. This is mostly providing a hint where to find the selected annotation.",
            "minimum" : 1
          },
          "replyTo" : {
            "type" : "string",
            "default" : "",
            "description" : "Selects the object id of the annotation, that this annotation shall be a reply to. The object id shall be given as a String that may contain either:\n\n*   The numeric object ID itself\n*   The object ID followed by the generation number, separated by a space"
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          }
        }
      },
      "Operation_ReplyToAnnotationEdit" : {
        "type" : "object",
        "description" : "Allows editing the content and properties of a textual reply to another annotation.",
        "properties" : {
          "comment" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to set the textual comment/reply to display."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "objectKey" : {
            "$ref" : "#/components/schemas/Operation_ObjectKeyReplyToAnnotationEdit"
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Selects the page by page number, that shall contain the \"reply to\" annotation.",
            "minimum" : 1
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          }
        },
        "required" : [ "objectKey" ]
      },
      "Operation_ResetFormAction" : {
        "type" : "object",
        "properties" : {
          "resetForm" : {
            "type" : "object",
            "description" : "The resetForm action clears the values in all selected form fields. You can use the \"field\" element as many times as necessary.",
            "properties" : {
              "exclude" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If true, then all form fields except the selected ones should be exported. If false, only the selected ones will be."
              },
              "field" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Operation_FormFieldSelection"
                }
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_ResizeBoxes" : {
        "type" : "object",
        "properties" : {
          "boxesResize" : {
            "$ref" : "#/components/schemas/Operation_BoxesResize"
          }
        }
      },
      "Operation_RubberStampAnnotation" : {
        "type" : "object",
        "description" : "An annotation that either uses an custom image or text as a stamp, or that adds a prepared \"named\" stamp to the page.",
        "properties" : {
          "appearanceGeneration" : {
            "type" : "string",
            "default" : "nonStandard",
            "description" : "Determines for which named annotations appearance streams shall be generated.\n\n**Important:** Per definition some named annotations are defined as standard names and PDF readers shall provide the means to draw those.\n\n*   always = An appearance stream shall be prepared for all created named annotations.\n*   never = Don't provide appearance streams and rely on PDF readers to dynamically generate a proper representation of named annotations.\n*   nonStandard = Only provide appearance streams for non-standard annotations.",
            "enum" : [ "Always", "Never", "nonStandard" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_AppearanceGeneration"
            }
          },
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "customIconName" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets a custom icon name for this annotation.\n\n**Important:** This name shall always take precedence over possibly set standard names. (icon)"
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "icon" : {
            "type" : "string",
            "default" : "draft",
            "description" : "The known \"named\" icon types for rubberstamp annotations:\n\n*   approved = A stamp that marks the stamped context as approved.\n*   experimental = A stamp that marks the stamped content to be an experimental state.\n*   notApproved = A stamp that disapproves the stamped context.\n*   asIs = A stamp that marks the content as is.\n*   expired = A stamp that marks the contained information as no longer valid.\n*   notForPublicRelease = A stamp that marks something as information for internal use only.\n*   confidential = A stamp marking the page as confidential.\n*   final = A stamp that indicates, that the current state of the document is final.\n*   sold = A stamp that indicates the marked contents to be sold and no longer available.\n*   departmental = A stamp that forbids information to be shared to recipient outside of a given department.\n*   forComment = Marks the stamped context as a comment.\n*   topSecret = Marks the stamped content not to be shared publicly.\n*   draft = A stamp marking the content to be a draft and therefore a work in progress.\n*   forPublicRelease = Marks the content for public sharing.\n*   unnamed = The rubberstamp shall not provide a predefined name.",
            "enum" : [ "approved", "experimental", "notApproved", "asIs", "expired", "notForPublicRelease", "confidential", "final", "sold", "departmental", "forComment", "topSecret", "draft", "forPublicRelease", "unnamed" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_RubberStampIcon"
            }
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "normalAppearance" : {
            "$ref" : "#/components/schemas/Operation_AppearanceSource"
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_PositionRubberStampAnnotation"
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Operation_Sanitize" : {
        "type" : "object",
        "description" : "Simplifies document structures, deletes metadata, and flattens page contents in order to remove confidential information that could be hidden in the document structure. Subelements can be used to exempt specific content from this operation or to configure how it will be handled in greater detail. If a subelement is not passed, the represented function will be considered to be enabled and configured with the corresponding default values.",
        "properties" : {
          "actions" : {
            "$ref" : "#/components/schemas/Operation_SanitizeActions"
          },
          "annotations" : {
            "$ref" : "#/components/schemas/Operation_SanitizeAnnotations"
          },
          "attachments" : {
            "$ref" : "#/components/schemas/Operation_SanitizeAttachments"
          },
          "forms" : {
            "$ref" : "#/components/schemas/Operation_SanitizeForms"
          },
          "layers" : {
            "$ref" : "#/components/schemas/Operation_SanitizeLayers"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/Operation_SanitizeMetadata"
          },
          "outlines" : {
            "$ref" : "#/components/schemas/Operation_SanitizeOutlines"
          },
          "pages" : {
            "$ref" : "#/components/schemas/Operation_SanitizePages"
          },
          "tags" : {
            "$ref" : "#/components/schemas/Operation_SanitizeTags"
          }
        }
      },
      "Operation_SanitizeActions" : {
        "type" : "object",
        "description" : "If this element is set, all actions shall be removed from the document - including specifically links and javascript triggers, elements and definitions. This will severely impair the functionality of interactive features such as: Annotations, forms, outlines, etc.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_SanitizeAnnotations" : {
        "type" : "object",
        "description" : "If this function is enabled, all comments and annotations will be removed from the document.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_SanitizeAttachments" : {
        "type" : "object",
        "description" : "If this function is enabled, all attachments will be removed from the document.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_SanitizeForms" : {
        "type" : "object",
        "description" : "If this function is enabled, all the forms in the document will be flattened. (the appearance and the values entered will remain visible in the document, but will no longer be editable).",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_SanitizeLayers" : {
        "type" : "object",
        "description" : "If this function is enabled, all layers will be removed from the document.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_SanitizeMetadata" : {
        "type" : "object",
        "description" : "If this function is enabled, info structures and XMP metadata will be removed from the document.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_SanitizeOutlines" : {
        "type" : "object",
        "description" : "If this function is enabled, the outline will be removed from the document.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_SanitizePages" : {
        "type" : "object",
        "description" : "If this function is enabled, all the selected pages in the document will be flattened. When this is done, an image of the visible contents in the corresponding page will be generated and will be used to replace all the page contents. This will remove any complex content that may be hiding confidential data.",
        "properties" : {
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "Used to specify the resolution for the image being generated. Higher resolutions will result in lower quality loss, but may also result in significantly larger document sizes.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          },
          "pages" : {
            "type" : "string",
            "default" : "*",
            "description" : "Defines which page(s) should be flattened. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). To specify \"all pages,\" use an asterisk (\"\\*\")."
          }
        }
      },
      "Operation_SanitizeTags" : {
        "type" : "object",
        "description" : "If this function is enabled, all tags will be removed from the document.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If set to \"false\", this sanitize operation shall not be applied."
          }
        }
      },
      "Operation_ScalePagesToolboxScale" : {
        "type" : "object",
        "description" : "Used to define page scaling operations.",
        "properties" : {
          "dimensions" : {
            "$ref" : "#/components/schemas/Operation_PaddedRectangle"
          },
          "horizontalAlignment" : {
            "type" : "string",
            "default" : "left",
            "description" : "If margins are created when the page is scaled or if the page content must be positioned relative to a context (for example, the crop box), this value specifies how margins are to be split and how overall page content is to be positioned on the page.\n\n*   left = Contents are to be arranged left-justified.\n*   center = Content should be centered.\n*   right = Contents should be arranged right-justified."
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies which page(s) should be scaled. The page number can be either a single page, a range of pages or a list (separated by commas) (e.g. \"1.5-6.9\"). The specification of all pages is done with \"\\*\"."
          },
          "preserveAspectRatio" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Specifies whether the ratio of the page dimensions to each other should be maintained when scaling the page. This may result in deviations from the given target height or width (depending on requirements)."
          },
          "scaleBoxes" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Specifies whether the scaling of the page should also affect the boxes (Mediabox, Cropbox, etc.) of a page. If this is not the case (false), the actual page dimensions, crop boxes, etc. remain as they were originally and only page contents are scaled. The content can become much smaller or larger than the containing page in this way, which can lead to either large blank areas or overflow of the page content."
          },
          "verticalAlignment" : {
            "type" : "string",
            "default" : "top",
            "description" : "If margins are created when the page is scaled or if the page content must be positioned relative to a context (for example, the crop box), this value specifies how margins are to be split and how overall page content is to be positioned on the page.\n\n*   top = Content should be positioned at the top of the page.\n*   center = Content should be centered.\n*   bottom = content should be positioned at the bottom."
          }
        }
      },
      "Operation_SelectionAnnotation" : {
        "type" : "object",
        "description" : "Defines criteria for the selection of annotations.",
        "properties" : {
          "objectKey" : {
            "$ref" : "#/components/schemas/Operation_ObjectKeySelectionAnnotation"
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Selects the page by page number, that shall contain the annotation.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          }
        }
      },
      "Operation_SelectionAttachment" : {
        "type" : "object",
        "description" : "Used to set an area from which attachments that meet the selection rules will be removed. You can use multiple selection elements.",
        "properties" : {
          "context" : {
            "type" : "string",
            "default" : "all",
            "description" : "Level to which the selection applies.\n\n*   all = All levels\n*   document = Document level only\n*   page = Page level only",
            "enum" : [ "page", "document", "all" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Context"
            }
          },
          "fileMask" : {
            "type" : "string",
            "default" : "",
            "description" : "Filters by file name for the selection. \"\\*.xls\", for example, would result in all XLS attachments in the selection area being removed. Meanwhile, \"xyz.json\" would result in attachments named \"xyz.json\" being removed from the selection area."
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Page range to which the selection applies."
          }
        }
      },
      "Operation_SelectionBackground" : {
        "type" : "object",
        "description" : "Defines which backgrounds shall be removed. (Currently all backgrounds on all pages shall be selected for removal, if this element is present.)"
      },
      "Operation_SelectionBox" : {
        "type" : "object",
        "description" : "Selects a specific box of a given page range of a PDF document.",
        "properties" : {
          "box" : {
            "type" : "string",
            "default" : "crop_box",
            "description" : "Used to select the box that should be scaled.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "media_box", "crop_box", "bleed_box", "trim_box", "art_box" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PageBox"
            }
          },
          "pages" : {
            "type" : "string",
            "default" : "*",
            "description" : "Used to define the page(s) from which boxes should be removed. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). To specify \"all pages,\" use an asterisk (\"\\*\")."
          }
        }
      },
      "Operation_SelectionEdit" : {
        "type" : "object",
        "description" : "Selects the annotations, that shall be edited.",
        "properties" : {
          "select" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_SelectionAnnotation"
            }
          }
        }
      },
      "Operation_SelectionHeaderFooter" : {
        "type" : "object",
        "description" : "Defines which headers/footers shall be removed. (Currently all headers/footers shall be selected for removal, if this element is present.)"
      },
      "Operation_SelectionRemove" : {
        "type" : "object",
        "description" : "Selects specific annotations for removal.",
        "properties" : {
          "select" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_SelectionAnnotation"
            }
          }
        }
      },
      "Operation_SelectionTransition" : {
        "type" : "object",
        "description" : "Used to select a page range from which all transition animations should be removed.",
        "properties" : {
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the page number or page range (e.g., \"1,5-6,9\") from which the transition animations should be removed."
          }
        }
      },
      "Operation_SetOCGStateAction" : {
        "type" : "object",
        "properties" : {
          "setLayerState" : {
            "type" : "object",
            "description" : "setLayerState switches the visibility of the selected document layers to the desired value.",
            "properties" : {
              "layerState" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Operation_LayerStateSetOCGStateAction"
                }
              },
              "preserveRadioButtonRelation" : {
                "type" : "boolean",
                "default" : true,
                "description" : "When set to true, connected radio button states shall be preserved."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_Settings" : {
        "type" : "object",
        "description" : "Used to configure global settings that should be respected when running the web service operation. This concerns e.g. settings whether the execution of the operation is allowed within the scope of the PDF document settings or how the result of the operation should be handled.",
        "properties" : {
          "compress" : {
            "$ref" : "#/components/schemas/Operation_CompressSettings"
          },
          "http" : {
            "$ref" : "#/components/schemas/Operation_HttpSettings"
          },
          "pdfa" : {
            "$ref" : "#/components/schemas/Operation_PdfaSettings"
          },
          "signature" : {
            "$ref" : "#/components/schemas/Operation_SignatureSettings"
          }
        }
      },
      "Operation_SharePointBridge" : {
        "type" : "object",
        "description" : "Used to specify whether \"SharePoint Bridge\" should be used when converting Word, Excel and PowerPoint documents. If the element is set, the document will be converted using the SharePoint Online service (if SharePoint Bridge is enabled in the server configuration)."
      },
      "Operation_Signature" : {
        "type" : "object",
        "description" : "The \"Signature\" web service can be used to digitally sign documents or to remove all signatures from a PDF documents.",
        "properties" : {
          "add" : {
            "$ref" : "#/components/schemas/Operation_AddSignature"
          },
          "clear" : {
            "$ref" : "#/components/schemas/Operation_ClearSignature"
          }
        }
      },
      "Operation_SignatureFileData" : {
        "type" : "object",
        "description" : "An image that will be placed in the field's background. The data will be passed in Base64. In order to ensure that the image will have the best possible appearance, it should be transparent (e.g., PNG).",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_SignatureIdentifier" : {
        "type" : "object",
        "description" : "Used to define the elements that are part of the visual signature.",
        "properties" : {
          "showCommonName" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the common name (CN) part of the certificate."
          },
          "showCountry" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the (ISO valid) country code (C) of the country in which the certificate holder is located."
          },
          "showDate" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the signature time."
          },
          "showLocal" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the location/city (L) where the certificate holder is located."
          },
          "showMail" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the email address (E) at which the certificate holder can be contacted."
          },
          "showName" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the signature `name`. (If `name` has not been set, the common name (CN) part of the certificate is displayed instead.)"
          },
          "showOrganisationName" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the certificate holder's organization/company (O)."
          },
          "showOrganisationUnit" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the certificate owner's suborganization/department (OU)."
          },
          "showSignedBy" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the text `Digitally signed by`. Can be overridden by the value of `textSignedBy`."
          },
          "showState" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Displays or hides the state (S) in which the certificate holder is located."
          },
          "textSignedBy" : {
            "type" : "string",
            "default" : "",
            "description" : "Text that is displayed when the `showSignedBy` option is enabled. If not set, then the text `Digitally signed by` is used as default."
          }
        }
      },
      "Operation_SignatureImage" : {
        "type" : "object",
        "description" : "Used to define an image, for the visual signature, that will be drawn in the signature's background. The image itself is passed with `<data>`.",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/Operation_SignatureFileData"
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 50,
            "description" : "Opacity of image as a percentage value between 0 and 100.",
            "maximum" : 100,
            "minimum" : 0
          },
          "position" : {
            "type" : "string",
            "default" : "center",
            "description" : "Position of image within signature field:\n\n*   center = Centred\n*   left = Left\n*   right = Right",
            "enum" : [ "center", "left", "right" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_SignatureImagePosition"
            }
          }
        },
        "required" : [ "data" ]
      },
      "Operation_SignatureOperation" : {
        "type" : "object",
        "properties" : {
          "billing" : {
            "$ref" : "#/components/schemas/Operation_Billing"
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PdfPassword"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_Settings"
          },
          "signature" : {
            "$ref" : "#/components/schemas/Operation_Signature"
          }
        },
        "required" : [ "signature" ]
      },
      "Operation_SignaturePosition" : {
        "type" : "object",
        "description" : "Used to define the position of the visual signature.",
        "properties" : {
          "coordinates" : {
            "type" : "string",
            "default" : "user",
            "description" : "Used to define the coordinate system and, accordingly, the origin for the position arguments.\n\n*   user = User coordinate system (origin at top left)\n*   pdf = PDF coordinate system (origin at bottom left)",
            "enum" : [ "pdf", "user" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Coordinates"
            }
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "default" : 10,
            "description" : "The signature field's height",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "default" : 50,
            "description" : "The signature field's width",
            "minimum" : 0
          },
          "x" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "X-axis position.",
            "minimum" : 0
          },
          "y" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "Y-axis position.",
            "minimum" : 0
          }
        }
      },
      "Operation_SignatureSettings" : {
        "type" : "object",
        "description" : "The `signature` element allows to set settings for automatic signature handling and verification. All web services prioritize checking whether their execution is valid for a given signed document - according to these settings - or would risk invalidation of the existing signatures. (This is also defining profiles, that would allow signature invalidation).",
        "properties" : {
          "signatureEditProfile" : {
            "type" : "string",
            "default" : "adobeRestrictions",
            "description" : "Defines the profile whose rules web services have to check before they can come to execution. These profiles define a set of rules concerning the validity of signatures. A web service whose execution for a given signed document would violate the ruleset selected here should instead abort with an appropriate error code.\n\n*   adobeRestrictions = Only those changes are allowed that are enabled by the included signatures. This follows the specifications given by Adobe.\n*   generalEditRestrictions = All changes to signed documents are prohibited, even those that might be allowed according to the included signatures.\n*   noEditRestrictions = Editing of signed documents is not restricted and all changes are allowed (by doing this, you accept that all signatures could potentially be removed from the document when necessary).",
            "enum" : [ "adobeRestrictions", "generalEditRestrictions", "noEditRestrictions" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_SignatureEditProfile"
            }
          }
        }
      },
      "Operation_SignerAdd" : {
        "type" : "object",
        "description" : "Contains a key pair (`<keyPair>`) consisting of the certificate (with public key) and the private key that identifies the signer (`<signer>`) who performs the signature. The certificate and the signer's private key must be passed as a PEM file in `<certificate>` and `<privateKey>` respectively. The element is optional. If no `<keyPair>` (consisting of the certificate and the private key) is passed directly, then a certificate must be selected via `<keyName>`, which is loaded from the server's global keystore.",
        "properties" : {
          "keyPair" : {
            "$ref" : "#/components/schemas/Operation_KeyPair"
          }
        },
        "required" : [ "keyPair" ]
      },
      "Operation_SizeOptimization" : {
        "type" : "object",
        "description" : "If you use a JPEG \"image type element,\" the file size can be automatically optimized. The corresponding optimization routine will attempt to limit the file to a max. size by gradually reducing the JPEG quality until the image is smaller than a specific size. If the \"sizeOptimization\" block is present, the image will be optimized. If it is not present, the image will not be optimized further after being exported.\n\n**Important:** Please note that optimization can make the graphic export operation significantly slower. In addition to this, make sure to use values for the \"dpi\", \"height\", and \"width\" parameters that ensure that the size you want can actually be reached with compression.",
        "properties" : {
          "maxRetries" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 5,
            "description" : "Used to specify the number of runs that should be used for optimization. If the target size cannot be reached after the specified number of runs, the operation will be cancelled and an error code will be returned."
          },
          "maxSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100000,
            "description" : "Used to define the maximum size of the JPEG file (file size), in bytes, that should be reached. The optimization routine will be successfully completed if the file reaches or falls below the specified file size. Make sure to use a value > 0; otherwise, an error will be thrown."
          },
          "stepSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "Used to define the increment by which the JPEG quality (jpegQuality) should be reduced every run in order to reach the desired file size. If the values for maxRetries and stepSize result in an illegal JPEG quality value being reached, the operation will be cancelled and an error code will be returned."
          }
        }
      },
      "Operation_SoundAction" : {
        "type" : "object",
        "properties" : {
          "playSound" : {
            "type" : "object",
            "description" : "When activated, the playSound Element plays the specified audio data.",
            "properties" : {
              "encoding" : {
                "type" : "string",
                "default" : "Raw",
                "description" : "The encoding of the audio file. Possible values are:\n\n*   Raw\n*   Signed\n*   muLaw\n*   ALaw",
                "enum" : [ "Raw", "Signed", "muLaw", "ALaw" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_AudioEncoding"
                }
              },
              "mix" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If this value is set to true, it will be possible to play the audio track at the same time as other audio tracks. If it is set to false instead, any audio tracks that were already playing will be stopped previously."
              },
              "repeat" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If this value is set to true, the audio track should be repeated endlessly."
              },
              "sampleSize" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 8,
                "description" : "The number of bits per sample per audio channel.",
                "minimum" : 1
              },
              "samplingRate" : {
                "type" : "number",
                "format" : "float",
                "default" : 8000,
                "description" : "The Sample Rate in Samples per Second.",
                "minimum" : 1
              },
              "sound" : {
                "type" : "string",
                "format" : "byte",
                "description" : "The audio file that should be played. The file must be encoded as a BASE64 value. The passed file must be completely independent and contain all the information and data required to play it. The AIFF, AIFF-C, RIFF (\\*.wav), snd(\\*.au) audio formats are supported, for example."
              },
              "soundChannels" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The number of audio channels.",
                "minimum" : 1
              },
              "synchronous" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If this value is set to true, the reader program must guarantee that the audio track will be plated in a completely synchronized manner without any interruptions and, accordingly, suppress any user interaction (except for cancelling the audio) while the audio is playing."
              },
              "volume" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 100,
                "description" : "A floating-point number between 100 and -100 that configures the volume for audio playback (as a percentage).",
                "maximum" : 100,
                "minimum" : -100
              }
            },
            "required" : [ "sound" ]
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_SquareAnnotation" : {
        "type" : "object",
        "description" : "An annotation that draws a rectangle on a page.",
        "properties" : {
          "border" : {
            "$ref" : "#/components/schemas/Operation_Border"
          },
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "drawMode" : {
            "type" : "string",
            "default" : "fillAndStroke",
            "description" : "Sets the draw mode for a geometrical shape.\n\n*   fill = The shape shall be filled with a given interior color.\n*   stroke = The outline of the shape shall be stroked with a given color.\n*   fillAndStroke = The shall shall be filled with a given interior color and it's outline shall be stroked with a given color.",
            "enum" : [ "fill", "stroke", "fillAndStroke" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_DrawMode"
            }
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "interiorColor" : {
            "type" : "string",
            "default" : "#000000",
            "description" : "Used to set the font color. The hereby defined color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_PositionSimpleShapeAnnotation"
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Operation_SubmitFormAction" : {
        "type" : "object",
        "properties" : {
          "submitForm" : {
            "type" : "object",
            "description" : "When activated, the submitForm action will send the names and values of all selected form fields to the specified URL (Uniform Resource Locator). You can use the \"field\" element as many times as necessary.",
            "properties" : {
              "canonicalFormat" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If this value is set to true, all dates and times will be transmitted in a canonical standard format whenever possible."
              },
              "embedForm" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if the data should be transmitted in FDF format. In this case, this value determines whether the PDF file that contains the form should be integrated into the transmitted data."
              },
              "exclude" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If true, then all form fields except the selected ones should be exported. If false, only the selected ones will be."
              },
              "excludeFDFSourceOrTargetFile" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if the data should be transmitted in FDF format. In this case, this value determines whether the URL to which the data is being transmitted should be included in the export."
              },
              "excludeNonUserAnnotations" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if the data should be transmitted in FDF format and \"includeAnnotations\" is set. In this case, this value determines whether the transmitted data should exclusively contain the annotations set by the user filling out the information (true) or whether it should contain all annotations instead (false)."
              },
              "exportFormat" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if \"submitPDF\" and \"xfdf\" are not set. If this value is set to true, the data will be exported as an HTML form; otherwise, it will be exported in fdf (Forms Data Format) format."
              },
              "field" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Operation_FormFieldSelection"
                }
              },
              "getMethod" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if \"exportFormat\" is set and used. In this case, this value determines whether the names and values will be transmitted with GET (true) or HTTP POST (false) requests."
              },
              "includeAnnotations" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if the data should be transmitted in FDF format. In this case, this value determines whether the set mark-up annotations should be included in the transmitted data."
              },
              "includeAppendSaves" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if the data should be transmitted in FDF format. In this case, this value determines whether the transmitted data will reproduce all incremental changes in the form data."
              },
              "includeNoValueFields" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If true, form fields that have not yet been filled out / that do not contain a value will be exported as well."
              },
              "submitCoordinates" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if \"exportFormat\" is set and used. In this case, this value determines whether the position of the mouse click that triggered the export should also be part of the export."
              },
              "submitPDF" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If this value is set to true, the data will be transmitted as a PDF file."
              },
              "url" : {
                "type" : "string",
                "default" : "",
                "description" : "The URL to which the data should be transmitted."
              },
              "xfdf" : {
                "type" : "boolean",
                "default" : false,
                "description" : "This value is only relevant if \"submitPDF\" is not set. In this case, this value determines whether the data should be transmitted in XFDF format."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_Svg" : {
        "type" : "object",
        "description" : "Defines a target SVG image format.",
        "properties" : {
          "decimalPrecision" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Selects the number of decimal places for numeric values of the resulting SVG.\n\n**Important:** The number of decimal places directly influences the size of the resulting file. However: Higher values will result in a better SVG quality.",
            "maximum" : 10,
            "minimum" : 0
          },
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "This parameter is used to define the image's DPI resolution. The larger the value, the larger the image's x, y resolution. In addition, the larger the DPI resolution, the larger the size of the image file.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "graphicsStateMode" : {
            "type" : "string",
            "default" : "centralize",
            "description" : "Selects the SVG syntax used for formatting graphics states.\n\n*   verbose = Writes verbose graphics states and groups and always prefers direct path definitions.\n*   centralize = Writes compact graphics states and groups and centralizes formatting instructions, also utilizes the \"use\" syntax to prepare and reference indirect paths. (May not be readable by some SVG viewers.)",
            "enum" : [ "verbose", "centralize" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_SvgGraphicsStateMode"
            }
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum height of the exported image. 0 = No restriction",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "pathDrawMode" : {
            "type" : "string",
            "default" : "compact",
            "description" : "Selects the SVG syntax used for formatting paths.\n\n*   verbose = Writes verbose paths, containing a human readable complete and simple syntax.\n*   compress = Compresses path draw instructions, by applying the EBNF (Extended Backus Naur Form).",
            "enum" : [ "verbose", "compact" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_SvgPathDrawMode"
            }
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum width of the exported image. 0 = No restriction",
            "minimum" : 0
          }
        }
      },
      "Operation_SvgFormat" : {
        "type" : "object",
        "description" : "Selects parameters for the creation of SVGs, possibly contained in resulting documents.",
        "properties" : {
          "decimalPrecision" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Selects the number of decimal places for numeric values of contained SVGs.\n\n**Important:** The number of decimal places directly influences the size of the resulting file. (should SVGs be contained.) However: Higher values will result in a better SVG quality.",
            "maximum" : 10,
            "minimum" : 0
          },
          "graphicsStateMode" : {
            "type" : "string",
            "default" : "centralize",
            "description" : "Selects the SVG syntax used for formatting graphics states.\n\n*   verbose = Writes verbose graphics states and groups and always prefers direct path definitions.\n*   centralize = Writes compact graphics states and groups and centralizes formatting instructions, also utilizes the \"use\" syntax to prepare and reference indirect paths. (May not be readable by some SVG viewers.)",
            "enum" : [ "verbose", "centralize" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_SvgGraphicsStateMode"
            }
          },
          "pathDrawMode" : {
            "type" : "string",
            "default" : "compact",
            "description" : "Selects the SVG syntax used for formatting paths.\n\n*   verbose = Writes verbose paths, containing a human readable complete and simple syntax.\n*   compress = Compresses path draw instructions, by applying the EBNF (Extended Backus Naur Form).",
            "enum" : [ "verbose", "compact" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_SvgPathDrawMode"
            }
          }
        }
      },
      "Operation_SyntaxHighlight" : {
        "type" : "object",
        "description" : "This element is used to configure language detection and the representation of syntax elements in recognized programming/script languages.",
        "properties" : {
          "available" : {
            "type" : "string",
            "default" : "",
            "description" : "Can be used to specify the languages to which the syntax highlighted should be limited. You can enter multiple languages by separating them with a comma (\"java,cpp\"). If you do not specify a value, all the languages listed below will be recognized. You can select any of the following languages:\n\n*   abnf = Augmented Backus-Naur form\n*   accesslog = Apache/Nginx Access Logs\n*   actionscript = ActionScript\n*   ada = Ada\n*   angelscript = AngelScript\n*   apache = Apache configuration language\n*   applescript = AppleScript\n*   arcade = ArcGIS Arcade\n*   arduino = Arduino\n*   armasm = ARM Assembly\n*   asciidoc = AsciiDoc\n*   aspectj = AspectJ\n*   autohotkey = AutoHotkey\n*   autoit = AutoIt\n*   avrasm = AVR Assembler\n*   awk = Awk\n*   axapta = Axapta\n*   bash = Bash\n*   basic = Basic\n*   bnf = Backus-Naur Form\n*   brainfuck = Brainfuck\n*   cal = C/AL\n*   capnproto = Cap'n Proto\n*   ceylon = Ceylon\n*   clean = Clean\n*   clojure-repl = Clojure REPL\n*   clojure = Clojure\n*   cmake = CMake\n*   coffeescript = CoffeeScript\n*   coq = Coq\n*   cos = Caché Object Script\n*   cpp = C++\n*   crmsh = crmsh\n*   crystal = Crystal\n*   cs = C#\n*   csp = CSP\n*   css = CSS\n*   d = D\n*   dart = Dart\n*   delphi = Delphi\n*   diff = Diff\n*   django = Django\n*   dns = DNS Zone file\n*   dockerfile = Dockerfile\n*   dos = DOS .bat\n*   dsconfig = dsconfig\n*   dts = Device Tree\n*   dust = Dust\n*   ebnf = Extended Backus-Naur Form\n*   elixir = Elixir\n*   elm = Elm\n*   erb = Embedded Ruby\n*   erlang-repl = Erlang REPL\n*   erlang = Erlang\n*   excel = Excel\n*   fix = FIX\n*   flix = FLIX\n*   fortran = Fortran\n*   fsharp = F#\n*   gams = GAMS\n*   gauss = GAUSS\n*   gcode = G-code\n*   gherkin = Gherkin\n*   glsl = GLSL\n*   gml = GML\n*   go = Go\n*   golo = Golo\n*   gradle = Gradle\n*   groovy = Groovy\n*   haml = Haml\n*   arduino = Arduino\n*   handlebars = Handlebars\n*   haskell = Haskell\n*   haxe = Haxe\n*   hsp = HSP\n*   htmlbars = HTMLBars\n*   http = HTTP\n*   hy = Hy\n*   inform7 = Inform 7\n*   arduino = Ini, TOML\n*   irpf90 = IRPF90\n*   isbl = ISBL\n*   java = Java\n*   javascript = Javascript\n*   jboss-cli = jboss-cli\n*   json = JSON\n*   julia-repl = Julia REPL\n*   julia = Julia\n*   kotlin = Kotlin\n*   lasso = Lasso\n*   ldif = LDIF\n*   leaf = Leaf\n*   less = Less\n*   lisp = Lisp\n*   livecodeserver = LiveCode\n*   livescript = LiveScript\n*   llvm = LLVM IR\n*   lsl = Linden Scripting Language\n*   lua = Lua\n*   makefile = Makefile\n*   markdown = Markdown\n*   mathematica = Mathematica\n*   matlab = Matlab\n*   maxima = Maxima\n*   mel = MEL\n*   mercury = Mercury\n*   mipsasm = MIPS Assembly\n*   mizar = Mizar\n*   mojolicious = Mojolicious\n*   monkey = Monkey\n*   moonscript = MoonScript\n*   n1ql = N1QL\n*   nginx = Nginx\n*   nimrod = Nimrod\n*   nix = Nix\n*   nsis = NSIS\n*   objectivec = Objective-C\n*   ocaml = OCaml\n*   openscad = OpenSCAD\n*   oxygene = Oxygene\n*   parser3 = Parser3\n*   perl = Perl\n*   pf = pf\n*   pgsql = PostgreSQL\n*   php = PHP\n*   plaintext = plaintext\n*   pony = Pony\n*   powershell = PowerShell\n*   processing = Processing\n*   profile = Python profile\n*   prolog = Prolog\n*   properties = Properties\n*   protobuf = Protocol Buffers\n*   puppet = Puppet\n*   purebasic = PureBASIC\n*   python = Python\n*   q = Q\n*   qml = QML\n*   r = R\n*   reasonml = ReasonML\n*   rib = RenderMan RIB\n*   roboconf = Roboconf\n*   routeros = Microtik RouterOS Script\n*   rsl = RenderMan RSL\n*   ruby = Ruby\n*   ruleslanguage = Oracle Rules Language\n*   rust = Rust\n*   sas = SAS\n*   scala = Scala\n*   scheme = Scheme\n*   scilab = Scilab\n*   scss = SCSS\n*   shell = Shell Session\n*   smali = Smali\n*   smalltalk = Smalltalk\n*   sml = SML\n*   sqf = SQF\n*   sql = SQL\n*   stan = Stan\n*   stata = Stata\n*   step21 = Step Part 21\n*   stylus = Stylus\n*   subunit = SubUnit\n*   swift = Swift\n*   taggerscript = Tagger Script\n*   tap = Test Anything Protocol\n*   tcl = Tcl\n*   tex = TeX\n*   thrift = Thrift\n*   tp = TP\n*   twig = Twig\n*   typescript = TypeScript\n*   vala = Vala\n*   vbnet = VB.NET\n*   vbscript-html = VBScript in HTML\n*   vbscript = VBScript\n*   verilog = Verilog\n*   vhdl = VHDL\n*   vim = Vim Script\n*   x86asm = Intel x86 Assembly\n*   xl = XL\n*   xml = XML\n*   xquery = XQuery\n*   yaml = YAML\n*   zephir = Zephir"
          },
          "fontFamily" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the font that should be used for syntax highlighting. If you select \"folder\" for the \"fontOrigin\" parameter, the font here needs to be specified with the filename for the file. Otherwise, use the name of the font you want. If the value is left blank, the \"Fira Code\" font will be used automatically."
          },
          "fontOrigin" : {
            "type" : "string",
            "default" : "system",
            "description" : "Used to specify whether the selected font should be obtained from your operating system or from the \"templates/fonts\" folder (in your webPDF installation path). Possible values:\n\n*   system = It will be possible to select from the fonts available system-wide.\n*   folder =It will be possible to select from the fonts in \"templates/fonts\".",
            "enum" : [ "system", "folder" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FontOriginMode"
            }
          },
          "fontSize" : {
            "type" : "string",
            "default" : "10px",
            "description" : "Used to set the font size for syntax highlighting to the specified value. You can use any of the following units:\n\n*   px = Pixels\n*   cm = Centimeters\n*   mm = Millimeters\n*   in = Inches\n*   pt = Points\n*   pc = Pica"
          },
          "language" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to select a specific language for highlighting recognition. You can select one of the languages listed for the \"available\" parameter. If you do not set this value, the system will attempt to automatically select an appropriate language from the list of available languages."
          },
          "lineHeight" : {
            "type" : "string",
            "default" : "12px",
            "description" : "Used to set the line height. You can use any of the following units:\n\n*   px = Pixels\n*   cm = Centimeters\n*   mm = Millimeters\n*   in = Inches\n*   pt = Points\n*   pc = Pica"
          },
          "lineNumbers" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to \"true\", line numbers are added before the code."
          },
          "relevance" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 90,
            "description" : "The syntax highlighter evaluates the degree of reliability with which it recognizes a language with a value ranging from 0 to 1000 points. This value determines the reliability level starting from which it should highlight syntax for a recognized language. The higher the value, the more closely the content found must match the criteria."
          },
          "wordBreak" : {
            "type" : "string",
            "default" : "auto",
            "description" : "Can be used to configure the word wrap behaviour during highlighting Possible values:\n\n*   auto = Automatic word wrap if necessary.\n*   none = Suppress the addition of extra line breaks.\n*   word = Line breaks allowed only after words.\n*   all = Line breaks allowed unconditionally.",
            "enum" : [ "auto", "none", "word", "all" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TextWrapMode"
            }
          }
        }
      },
      "Operation_TemplateData" : {
        "type" : "object",
        "description" : "Contains the Base64-encoded JSON structure that is used as variables in the HTML template if \"useAsTemplate\" has a value of \"true\".\n\nExample for data as JSON structure:\n\n```json                    \n{\n    \"page1\": \"Text for page 1\",\n    \"page2\": \"Text for page 2\",\n    \"page3\": \"Text for page 3\",\n    \"image\": {\n    \"name\": \"Warning!\",\n    \"data\": \"... BASE64 encoded image ...\"\n    }\n}\n```\n\nWithin the HTML document, the \"custom.\" prefix will be prepended to each variable from the JSON structure. The variables can then be used as follows in the HTML code:\n\n```html                    \n<body>\n    <div class=\"page\">\n        <h1>This is Page 1</h1>\n        <i>${custom.page1}</i>\n        <br/>\n        ${custom.image.name}\n        <img src=\"${custom.image.data}\" width=\"100\" height=\"100\"/>\n    </div>\n    <div class=\"page\">\n        <h1>This is Page 2</h1>\n        <b>${custom.page2}</b>\n    </div>\n    <div class=\"page\">\n        <h1>This is Page 3</h1>\n        <u>${custom.page3}</u>\n    </div>\n</body>\n```\n\nFor more information regarding the use of the templates, please refer to the chapter \"Server Conversion - Templates\" document.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_TemplateFile" : {
        "type" : "object",
        "description" : "The template is passed as Base64-encoded content in the \"file\" element. This template is HTML-based and can contain variables. For more information regarding the use of the templates, please refer to the chapter \"Server-Conversion - Templates\".",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the template file."
          },
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_TextAnnotation" : {
        "type" : "object",
        "description" : "An annotation that adds a note icon to a page.",
        "properties" : {
          "appearanceGeneration" : {
            "type" : "string",
            "default" : "nonStandard",
            "description" : "Determines for which named annotations appearance streams shall be generated.\n\n**Important:** Per definition some named annotations are defined as standard names and PDF readers shall provide the means to draw those.\n\n*   always = An appearance stream shall be prepared for all created named annotations.\n*   never = Don't provide appearance streams and rely on PDF readers to dynamically generate a proper representation of named annotations.\n*   nonStandard = Only provide appearance streams for non-standard annotations.",
            "enum" : [ "Always", "Never", "nonStandard" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_AppearanceGeneration"
            }
          },
          "color" : {
            "type" : "string",
            "default" : "#4800FF",
            "description" : "The annotation color will change the main color of visible annotations. The color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "contents" : {
            "type" : "string",
            "default" : "",
            "description" : "This value is used to configure the text content of the annotation, with the way in which it is displayed depending heavily on the specific annotation type (for example, in the case of a text note, this would be the text content of the annotation's popup)."
          },
          "creator" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the author of the annotation."
          },
          "customIconName" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets a custom icon name for this annotation.\n\n**Important:** This name shall always take precedence over possibly set standard names. (icon)"
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will not be shown on the page and will not be printed either."
          },
          "icon" : {
            "type" : "string",
            "default" : "note",
            "description" : "Used to specify the icon that should be displayed for the note on the page. The following values are available:\n\n*   check = The text annotation approves the content.\n*   checkmark = The text annotation adds a gray checkmark to the content.\n*   circle = The text annotation is a comment on the circled content.\n*   comment = The text annotation is a comment to the marked contents.\n*   cross = The text annotation marks the content or crosses it out.\n*   crossHair = The text annotation targets the content in the crosshair.\n*   insert = The text annotation is suggesting inserting some content.\n*   key = The text annotation marks or contains a key content/information.\n*   note = The text annotation is a mere note concerning the marked content.\n*   help = The text annotation provides helpful information concerning the marked content.\n*   newParagraph = The text annotation suggests adding a new Paragraph at a specific point.\n*   paragraph = The text annotation is concerning the whole paragraph.\n*   rightArrow = The text annotation is concerning the content to the right.\n*   rightPointer = The text annotation is concerning the content to the right.\n*   star = The text annotation marks content as especially important.\n*   upArrow = The text annotation is concerning the content at the top.\n*   upLeftArrow = The text annotation is concerning the content at the top left.\n*   unnamed = The text annotation shall not provide a predefined name.",
            "enum" : [ "check", "checkmark", "circle", "comment", "cross", "crossHair", "insert", "key", "note", "help", "newParagraph", "paragraph", "rightArrow", "rightPointer", "star", "upArrow", "upLeftArrow", "unnamed" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TextAnnotationIcons"
            }
          },
          "initialOpen" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to \"true,\" the popup for the corresponding \"note\" annotation will be opened as soon as the corresponding document page is viewed."
          },
          "intents" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to set the intention of the annotation.\n\n**Important:** The intention of an annotation can directly influence it's behaviour and may serve different purposes for different annotation types. Only set this directly, if you know it is necessary and possible to do so."
          },
          "invisible" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation."
          },
          "locked" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be locked so that no changes can be made to it."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the annotation."
          },
          "normalAppearance" : {
            "$ref" : "#/components/schemas/Operation_AppearanceSource"
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "This percentage value is used to set the annotation's transparency.",
            "maximum" : 100,
            "minimum" : 0
          },
          "page" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Set the number of the page, the annotation shall be placed on.",
            "minimum" : 1
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "printable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to true, the annotation will be included when the page is printed out."
          },
          "rotatable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation shall be rotatable according to the displayed page rotation."
          },
          "subject" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the subject of the annotation."
          },
          "viewable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will be shown on the document's page."
          },
          "writable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, it will be possible to change the annotation's contents later on."
          },
          "zoomable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable."
          }
        }
      },
      "Operation_TextExtractionLinks" : {
        "type" : "object",
        "properties" : {
          "fromText" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Advanced mode for extracting links When using this mode, links will not be extracted from annotations, but will instead be extracted directly from the text. This means that links that are not found in standard mode can be found with this advanced mode, provided that they are present in the form of text."
          },
          "protocol" : {
            "type" : "string",
            "default" : "",
            "description" : "Provides the option of filtering the links being extracted by protocol. If multiple protocols are specified, they need to be separated with commas (e.g., \"http,https,ftp\"). The following values are valid: \"http\",\"https\",\"ftp\", \"telnet\",\"mailto\", \"file\", \"nntp\", and \"notes\"."
          },
          "withoutProtocol" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When enabled, incomplete URLs from which the protocol information is missing will be extracted as well when extracting links from text. This would apply to the following examples, for instance:\n\n*   \"www.webpdf.de\" - There is no protocol information. If the option is enabled and \"http\" links are searched for, the link will be extracted.\n*   \"ftp.softvision.de\" - There is no protocol information here either. If the option is enabled and \"ftp\" links are searched for, the link will be extracted."
          }
        }
      },
      "Operation_TextHighlight" : {
        "type" : "object",
        "description" : "This element is used to configure the display of contents for which the syntax highlighter was unable to identify a known language.",
        "properties" : {
          "color" : {
            "type" : "string",
            "default" : "#000000",
            "description" : "Sets the font color for the text to the given value. The colour needs to be specified as a hexadecimal RGB value with a number sign before it."
          },
          "fontFamily" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies the font to use for the text. If you select \"folder\" for the \"fontOrigin\" parameter, the font here needs to be specified with the filename for the file. Otherwise, use the name of the font you want. If the value is left blank, the \"SourceHanSans\" font will be used automatically."
          },
          "fontOrigin" : {
            "type" : "string",
            "default" : "system",
            "description" : "Used to specify whether the selected font should be obtained from your operating system or from the \"templates/fonts\" folder (in your webPDF installation path). Possible values:\n\n*   system = It will be possible to select from the fonts available system-wide.\n*   folder =It will be possible to select from the fonts in \"templates/fonts\".",
            "enum" : [ "system", "folder" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FontOriginMode"
            }
          },
          "fontSize" : {
            "type" : "string",
            "default" : "10px",
            "description" : "Used to set the font size for the text to the specified value. You can use any of the following units:\n\n*   px = Pixels\n*   cm = Centimeters\n*   mm = Millimeters\n*   in = Inches\n*   pt = Points\n*   pc = Pica"
          },
          "lineHeight" : {
            "type" : "string",
            "default" : "12px",
            "description" : "Used to set the line height. You can use any of the following units:\n\n*   px = Pixels\n*   cm = Centimeters\n*   mm = Millimeters\n*   in = Inches\n*   pt = Points\n*   pc = Pica"
          },
          "lineNumbers" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If this value is set to \"true\", line numbers are added before the code."
          },
          "wordBreak" : {
            "type" : "string",
            "default" : "auto",
            "description" : "Can be used to configure the word wrap behaviour during highlighting Possible values:\n\n*   auto = Automatic word wrap if necessary.\n*   none = Suppress the addition of extra line breaks.\n*   word = Line breaks allowed only after words.\n*   all = Line breaks allowed unconditionally.",
            "enum" : [ "auto", "none", "word", "all" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TextWrapMode"
            }
          }
        }
      },
      "Operation_ThreadAction" : {
        "type" : "object",
        "properties" : {
          "goToThread" : {
            "type" : "object",
            "description" : "When activated, the goToThread action jumps to a specific thread defined in the document.",
            "properties" : {
              "beadIndex" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The index of the thread section to which the jump should be. This value is optional and does not need to be specified.",
                "minimum" : 0
              },
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The page number of the page where the thread is found.",
                "minimum" : 1
              },
              "threadIndex" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The index of the thread in the document's thread directory to which the jump should be. This value is an alternative to \"threadTitle\" and does not have to be set if the latter has been specified.",
                "minimum" : 0
              },
              "threadTitle" : {
                "type" : "string",
                "default" : "",
                "description" : "The title of the thread to which the jump should be. This value is an alternative to \"threadIndex\" and does not have to be set if the latter has been specified."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_Tiff" : {
        "type" : "object",
        "description" : "Defines a target TIFF image format.",
        "properties" : {
          "blackAndWhiteQuality" : {
            "type" : "string",
            "default" : "high",
            "description" : "For \"tif\" exports, this parameter is used to define the quality of black-and-white images if \"group3\" or \"group4\" is used as a compression method. The higher the quality, the more time that will be required in order to render the image:\n\n*   low = Direct conversion (best reserved for \"text only\" content)\n*   middle = A diffusion filter will be applied to the image before conversion\n*   high = Greyscale conversion and a diffusion filter will be applied to the image before conversion",
            "enum" : [ "low", "middle", "high" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TiffBlackAndWhiteQuality"
            }
          },
          "compression" : {
            "type" : "string",
            "default" : "none",
            "description" : "This parameter is used to specify the compression method when exporting pages as \"tif\" images. The following values are available:\n\n*   none = No compression\n*   rle = TIFF CCITT Modified Huffman RLE compression\n*   deflate = TIFF Deflate lossless compression (Zip-in-TIFF).\n*   group3 = TIFF CCITT Group 3 fax encoding\n*   group4 = TIFF CCITT Group 4 fax encoding\n*   jpeg = TIFF JPEG-in-TIFF compression\n*   lzw = TIFF LZW compression\n*   packbits = TIFF Byte-oriented run-length encoding \"PackBits\" compression\n*   zlib = TIFF ZLib compression",
            "enum" : [ "none", "rle", "deflate", "group3", "group4", "jpeg", "lzw", "packbits", "zlib" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TiffCompression"
            }
          },
          "dpi" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 72,
            "description" : "This parameter is used to define the image's DPI resolution. The larger the value, the larger the image's x, y resolution. In addition, the larger the DPI resolution, the larger the size of the image file.",
            "maximum" : 9600,
            "minimum" : 0
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum height of the exported image. 0 = No restriction",
            "minimum" : 0
          },
          "jpegQuality" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 80,
            "description" : "When exporting to \"jpg\" format, this parameter can be used to define the image's quality as a percentage. The value must fall between 0 and 100. The larger the value, the better the quality and the lower the compression level.",
            "maximum" : 100,
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "multipage" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If \"true,\" a \"multi-page TIFF\" will be created when multiple pages are exported as \"tif\" images. All the pages will be exported to a single file, and a ZIP file with individual images will not be generated."
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to limit the maximum width of the exported image. 0 = No restriction",
            "minimum" : 0
          }
        }
      },
      "Operation_ToolboxAnnotation" : {
        "type" : "object",
        "properties" : {
          "annotation" : {
            "type" : "object",
            "description" : "The annotation operation can be used to remove, edit or add markup annotations of/to a document.",
            "properties" : {
              "add" : {
                "$ref" : "#/components/schemas/Operation_AddToolboxAnnotation"
              },
              "clear" : {
                "$ref" : "#/components/schemas/Operation_ClearToolboxAnnotation"
              },
              "comment" : {
                "$ref" : "#/components/schemas/Operation_CommentToolboxAnnotation"
              },
              "edit" : {
                "$ref" : "#/components/schemas/Operation_EditToolboxAnnotation"
              },
              "remove" : {
                "$ref" : "#/components/schemas/Operation_RemoveToolboxAnnotation"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxAttachment" : {
        "type" : "object",
        "properties" : {
          "attachment" : {
            "type" : "object",
            "description" : "The attachment operation element can be used to add, remove, and extract file attachments to and from the PDF document.",
            "properties" : {
              "add" : {
                "$ref" : "#/components/schemas/Operation_AddToolboxAttachment"
              },
              "extract" : {
                "$ref" : "#/components/schemas/Operation_ExtractToolboxAttachment"
              },
              "remove" : {
                "$ref" : "#/components/schemas/Operation_RemoveToolboxAttachment"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxCompress" : {
        "type" : "object",
        "properties" : {
          "compress" : {
            "type" : "object",
            "description" : "The compress operation element can be used to reduce the document size by compression. This modifies the document, so note that this can lead to the invalidation of existing signatures and archive formats. The compression can also be provided by the execution settings basically web service independent for the storage of documents.",
            "properties" : {
              "compressObjects" : {
                "$ref" : "#/components/schemas/Operation_CompressObjects"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxDelete" : {
        "type" : "object",
        "properties" : {
          "delete" : {
            "type" : "object",
            "description" : "The delete operation element can be used to delete pages from the document.",
            "properties" : {
              "pages" : {
                "type" : "string",
                "default" : "",
                "description" : "Defines the pages that should be deleted from the PDF document. This can be either an individual page or a page range (e.g., \"1,5-6,9\")."
              }
            },
            "required" : [ "pages" ]
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxDescription" : {
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "object",
            "description" : "The description operation element can be used to change the description for documents.",
            "properties" : {
              "allowEmptyValues" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If \"true,\" empty values will be accepted."
              },
              "author" : {
                "type" : "string",
                "default" : "",
                "description" : "Used to set the PDF document's Author field. Multiple values should be separated with \";\"."
              },
              "creator" : {
                "type" : "string",
                "default" : "",
                "description" : "Used to set the PDF document's Creator field."
              },
              "custom" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Operation_DescriptionCustom"
                }
              },
              "keywords" : {
                "type" : "string",
                "default" : "",
                "description" : "Used to set the PDF document's Keywords field. Multiple values should be separated with \";\"."
              },
              "producer" : {
                "type" : "string",
                "default" : "",
                "description" : "Used to set the PDF document's Producer field."
              },
              "subject" : {
                "type" : "string",
                "default" : "",
                "description" : "Used to set the PDF document's Subject field."
              },
              "title" : {
                "type" : "string",
                "default" : "",
                "description" : "Used to set the PDF document's Title field."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxExtraction" : {
        "type" : "object",
        "properties" : {
          "extraction" : {
            "type" : "object",
            "description" : "The extraction operation element can be used to extract various contents.\n\n**Tip:** The format of the document generated with the \"extraction\" operation is described by the [\"text.xsd\"](http://schema.webpdf.de/1.0/extraction/text.xsd) schema for `<text>`, `<links>`, `<words>`, and `<paragraphs>` and by the [info.xsd](http://schema.webpdf.de/1.0/extraction/info.xsd) schema for `<info>`.",
            "properties" : {
              "images" : {
                "$ref" : "#/components/schemas/Operation_ExtractionImages"
              },
              "info" : {
                "$ref" : "#/components/schemas/Operation_ExtractionInfo"
              },
              "links" : {
                "$ref" : "#/components/schemas/Operation_ExtractionLinks"
              },
              "paragraphs" : {
                "$ref" : "#/components/schemas/Operation_ExtractionParagraphs"
              },
              "text" : {
                "$ref" : "#/components/schemas/Operation_ExtractionText"
              },
              "words" : {
                "$ref" : "#/components/schemas/Operation_ExtractionWords"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxForms" : {
        "type" : "object",
        "properties" : {
          "forms" : {
            "type" : "object",
            "description" : "The forms operation element can be used to import and export PDF forms.",
            "properties" : {
              "export" : {
                "$ref" : "#/components/schemas/Operation_FormsExport"
              },
              "flatten" : {
                "$ref" : "#/components/schemas/Operation_FormsFlatten"
              },
              "import" : {
                "$ref" : "#/components/schemas/Operation_FormsImport"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxImage" : {
        "type" : "object",
        "properties" : {
          "image" : {
            "type" : "object",
            "description" : "The image operation element can be used to export a document as an image.",
            "properties" : {
              "bmp" : {
                "$ref" : "#/components/schemas/Operation_Bmp"
              },
              "fileNameTemplate" : {
                "type" : "string",
                "default" : "page[%d]",
                "description" : "When exporting multiple pages, this parameter is used to define the file name that will be used for the generated image files in the ZIP file. The file name must include the string \"%d\". This string will be replaced with a consecutive number in the file name."
              },
              "gif" : {
                "$ref" : "#/components/schemas/Operation_Gif"
              },
              "jpeg" : {
                "$ref" : "#/components/schemas/Operation_Jpeg"
              },
              "pages" : {
                "type" : "string",
                "default" : "1",
                "description" : "Used to define the page number or page range (e.g., \"1,5-6,9\") that should be converted to an image file format. If only a single page is defined, the image file will be returned directly. If a range of pages is declared, then the call will return a ZIP file containing all the exported pages. The name of the individual image file (when multiple pages are exported) is defined with the \"fileNameTemplate\" attribute. The \"tif\" format is an exception when exporting multiple pages. When using this format, the \"multipage\" attribute can be used to define whether a multipage TIFF will be generated or whether the individual pages will be exported to a ZIP file (as with the other image file formats)."
              },
              "png" : {
                "$ref" : "#/components/schemas/Operation_Png"
              },
              "svg" : {
                "$ref" : "#/components/schemas/Operation_Svg"
              },
              "tiff" : {
                "$ref" : "#/components/schemas/Operation_Tiff"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxMerge" : {
        "type" : "object",
        "properties" : {
          "merge" : {
            "type" : "object",
            "description" : "The merge operation element can be used to merge documents.\n\n**Important:** When a \"merge\" operation is performed, the pages and structural information (such as outlines and tag) will be merged. This can result in name conflicts that can prevent a success. If you would rather like to ignore such conflicts use the matching \"ignoreConflicts\" parameter.\n\n**Important:** Merging documents could also fail because of signatures or a used PDF/A format. As\n\n*   by definition - altering PDF/A documents and signed documents would result in an invalidation of such documents/signatures.",
            "properties" : {
              "data" : {
                "$ref" : "#/components/schemas/Operation_MergeFileData"
              },
              "mode" : {
                "type" : "string",
                "default" : "atTheEnd",
                "description" : "Defines the mode used to merge the PDF documents. The PDF document passed with the \"data\" element will be appended to the current PDF document or inserted at a specific point. The following modes define the position where the documents will be inserted. Instead of a single base document, the \"portfolio\" mode always expects a ZIP archive. The elements in this archive will be added, all with identical permissions, to the resulting portfolio (the data element is not required at all for \"portfolio\").\n\n*   atTheEnd = At the end of the PDF document\n*   atTheBeginning = At the beginning of the PDF document\n*   afterPage = After a page (please refer to the \"page\" attribute) in the PDF document\n*   beforePage = Before a page (please refer to the \"page\" attribute) in the PDF document",
                "enum" : [ "atTheEnd", "atTheBeginning", "afterPage", "beforePage" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_MergeMode"
                }
              },
              "outlineName" : {
                "type" : "string",
                "default" : "",
                "description" : "Used to define the base path that should be used for outline nodes of the source document. This parameter can contain a slash separated path and should ideally end with the name of the document (\"A/B/filename\"). If this parameter is not set, all outlines will be appended to the root outline node."
              },
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "Used to define the page number where the PDF document should be inserted.",
                "minimum" : 1
              },
              "removeStaticXFA" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If this parameter is enabled, all entries related to static XFA documents and all connected extended permission settings will be removed from the document. Using this parameter it is possible to merge static XFA documents with other documents, which is normally forbidden by default.\n\n**Important:** Although this parameter allows the merging of static XFA documents, this will not create a valid static XFA document as a result. All structures qualifying a document as a static XFA document will be removed. The resulting document will contain a pure Acroform and will not be recognized as a XFA form by applications for XFA creation/editing. Also, all extended access\n\n*   and write permissions will be removed (That normally can expected to be found in a static XFA document)."
              },
              "resetMetadata" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If you enable this parameter, the source document's metadata will be removed and replaced with default values."
              },
              "sourceIsZip" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If this parameter is enabled, a ZIP archive\n\n*   containing the documents to merge - will be expected as the webservice's source document. Also - in that case, the \"data\" parameter is not required. The first element in the ZIP archive will be used as a base document to which all following entries will be appended.\n\n**Important:** The usage of this parameter is expected to be used for the \"portfolio\" mode. All the documents in the ZIP archive will be added to the portfolio receiving identical permission settings."
              }
            },
            "required" : [ "data" ]
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxMove" : {
        "type" : "object",
        "properties" : {
          "move" : {
            "type" : "object",
            "description" : "The move operation element can be used to change the order of the document's pages.",
            "properties" : {
              "mode" : {
                "type" : "string",
                "default" : "afterPage",
                "description" : "Used to specify whether the selected page range should be inserted before or after the selected position in the document.\n\n*   afterPage = After the selected position.\n*   beforePage = Before the selected position.",
                "enum" : [ "beforePage", "afterPage" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_MoveMode"
                }
              },
              "order" : {
                "type" : "string",
                "default" : "preserve",
                "description" : "Used to select the order of the selected pages at the new position.\n\n*   preserve = Keeps the original order in which the pages were found in the document.\n*   reverse = Reverses the original order in which the pages were found in the document.",
                "enum" : [ "preserve", "reverse" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Order"
                }
              },
              "pages" : {
                "type" : "string",
                "default" : "1",
                "description" : "Used to define which page(s) should be moved. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\")."
              },
              "targetPosition" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "Used to select the page number after or before which the selected page range should be inserted. This page must not be part of the page range being moved.",
                "minimum" : 1
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxOperation" : {
        "type" : "object",
        "properties" : {
          "billing" : {
            "$ref" : "#/components/schemas/Operation_Billing"
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PdfPassword"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_Settings"
          },
          "toolbox" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_BaseToolbox"
            }
          }
        }
      },
      "Operation_ToolboxOptions" : {
        "type" : "object",
        "properties" : {
          "options" : {
            "type" : "object",
            "description" : "The options operation element can be used to change the way documents are displayed.\n\n**Tip:** For all hereby contained options, please consult the chapter \"Display Options\". This is especially important concerning the content format of headers and footers.",
            "properties" : {
              "background" : {
                "$ref" : "#/components/schemas/Operation_BackgroundToolboxOptions"
              },
              "boxes" : {
                "$ref" : "#/components/schemas/Operation_BoxesToolboxOptions"
              },
              "headerFooter" : {
                "$ref" : "#/components/schemas/Operation_HeaderFooterToolboxOptions"
              },
              "initialPage" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "Defines the page that will be shown when the document is opened.",
                "minimum" : 1
              },
              "initialView" : {
                "type" : "string",
                "default" : "none",
                "description" : "Defines which sub-windows will be opened when the PDF document is opened.\n\n*   none = No special view\n*   outlines = Opens the \"Bookmarks\" tab\n*   thumbnails = Opens the \"Thumbnails\" tab\n*   fullscreen = Opens the document in full screen mode",
                "enum" : [ "none", "outlines", "thumbnails", "fullscreen", "layers", "attachments" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_InitialView"
                }
              },
              "language" : {
                "type" : "string",
                "default" : "",
                "description" : "Specifies the language (and optionally the country) for the content of the document. The value is encoded as RFC 3066 (Tags for the Identification of Languages) and includes either the language only (e.g. \"de\") or the language and a country identifier (e.g. \"de-DE\")."
              },
              "magnification" : {
                "type" : "string",
                "default" : "fitWidth",
                "description" : "Sets the zoom settings according to a defined mode.\n\n*   none = Uses the application's default view\n*   fitWidth = Page width\n*   fitPage = Page dimensions\n*   fitHeight = Page height\n*   fitVisible = Page content width\n*   fitActual = Uses the original page dimensions (100% zoom factor)\n*   zoom = Sets an explicit magnification value",
                "enum" : [ "none", "fitWidth", "fitVisible", "fitHeight", "fitPage", "fitActual", "zoom" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Magnification"
                }
              },
              "magnificationZoom" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 100,
                "description" : "Used to set the value for zooming.",
                "maximum" : 6400,
                "minimum" : 0
              },
              "pageLayout" : {
                "type" : "string",
                "default" : "singlePage",
                "description" : "Sets the page layout when the PDF document is opened.\n\n*   singlePage = Individual pages\n*   singlePageContinous = Continuous individual pages\n*   twoPages = double pages starting with odd pages\n*   twoPagesRight = double pages starting with even pages\n*   twoPagesContinous = continuous double pages starting with odd pages\n*   twoPagesContinousRight = continuous double pages starting with even pages",
                "enum" : [ "singlePage", "singlePageContinous", "twoPages", "twoPagesRight", "twoPagesContinous", "twoPagesContinousRight" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_PageLayout"
                }
              },
              "pageTransitions" : {
                "$ref" : "#/components/schemas/Operation_PageTransitionsToolboxOptions"
              },
              "viewerPreferences" : {
                "$ref" : "#/components/schemas/Operation_ViewerPreferences"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxOutline" : {
        "type" : "object",
        "properties" : {
          "outline" : {
            "type" : "object",
            "description" : "The outline operation element can be used to change the outline in the document.",
            "properties" : {
              "add" : {
                "$ref" : "#/components/schemas/Operation_AddToolboxOutline"
              },
              "clear" : {
                "$ref" : "#/components/schemas/Operation_Clear"
              },
              "remove" : {
                "$ref" : "#/components/schemas/Operation_RemoveToolboxOutline"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxPortfolio" : {
        "type" : "object",
        "properties" : {
          "portfolio" : {
            "type" : "object",
            "description" : "The portfolio operation element can be used to merge documents into a portfolio, as well as to remove or extract documents from it.\n\n**Important:** If an empty document or document with a page with no content is passed as the source document, a default portfolio base document will be generated automatically.\n\n**Important:** This web service allows for a portfolio document to be used as the source document.",
            "properties" : {
              "add" : {
                "$ref" : "#/components/schemas/Operation_PortfolioAdd"
              },
              "extract" : {
                "$ref" : "#/components/schemas/Operation_PortfolioExtract"
              },
              "remove" : {
                "$ref" : "#/components/schemas/Operation_PortfolioRemove"
              },
              "sort" : {
                "$ref" : "#/components/schemas/Operation_PortfolioSort"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxPrint" : {
        "type" : "object",
        "properties" : {
          "print" : {
            "type" : "object",
            "description" : "The print operation element can be used to print documents.",
            "properties" : {
              "autoRotate" : {
                "type" : "boolean",
                "default" : true,
                "description" : "If \"true,\" the PDF document's orientation will be automatically adjusted in line with the printer's configured paper orientation."
              },
              "centerInPage" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If \"true\", the PDF page will be centered in the middle of the paper."
              },
              "copies" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "Defines the number of copies that should be printed.",
                "minimum" : 1
              },
              "dpi" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "Sets the printer resolution for the \"image\" print mode. If this value is set to 0, the document will be printed, using a resolution suggested by the printer. (High resolutions will lead to better quality results, but will tremendously increase the required time and resources.)"
              },
              "expandToMargins" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If \"true,\" any PDF page that is smaller than the paper will be enlarged to fit the paper size."
              },
              "jobName" : {
                "type" : "string",
                "default" : "webPDF Print Job",
                "description" : "This attribute is used to define the name of the print job (as shown in the Print Spooler in Windows, for example)."
              },
              "mode" : {
                "type" : "string",
                "default" : "default",
                "description" : "Select the printing mode, that shall be used.\n\n*   default = The drawing operations are applied to the printout as defined in the PDF document.\n*   image = Creates an image of a fixed resolution for every page of the document, to guarantee a uniform printing result.\n*   raster = Every page of the document is rastered before printing. This is a compatibility mode for older printers.",
                "enum" : [ "default", "raster", "image" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_PrintMode"
                }
              },
              "pages" : {
                "type" : "string",
                "default" : "",
                "description" : "Defines which page(s) should be printed. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). To specify \"all pages,\" use an asterisk (\"\\*\")."
              },
              "printerName" : {
                "type" : "string",
                "default" : "",
                "description" : "This attribute is used to specify the name of the printer that should be used to print the PDF document. If a printer is not declared, then the system's default printer will be used for printing."
              },
              "shrinkToMargins" : {
                "type" : "boolean",
                "default" : false,
                "description" : "If \"true,\" any PDF page that is larger than the paper will be shrunk to fit the paper size."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxRedact" : {
        "type" : "object",
        "properties" : {
          "redact" : {
            "type" : "object",
            "description" : "You can use the redact operation element to redact the contents of a document and remove metadata.",
            "properties" : {
              "blacken" : {
                "$ref" : "#/components/schemas/Operation_Blacken"
              },
              "sanitize" : {
                "$ref" : "#/components/schemas/Operation_Sanitize"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxRotate" : {
        "type" : "object",
        "properties" : {
          "rotate" : {
            "type" : "object",
            "description" : "The rotate operation element can be used to rotate pages in the document.",
            "properties" : {
              "degrees" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 90,
                "description" : "Used to specify the clockwise rotation in degrees. The rotation is always in 90-degree increments (0, 90, 180, 270, 360). Deviating values will always be rounded down to the next lower increment (e.g.: 32 degrees will become 0 degrees and 101 degrees will become 90 degrees). Once the rotation is completed, the new value will be normalized to a range of 0 to 359 degrees. If the page being rotated has an impermissible value (e.g. 112 degrees), this value will be adjusted before the rotation operation as well (112 degrees will become 90 degrees).",
                "maximum" : 360,
                "minimum" : 0
              },
              "orientationDetectMode" : {
                "type" : "string",
                "default" : "value",
                "description" : "Selects which criteria to use to determine the orientation (portrait/landscape) of pages (see also \"pageOrientation\"):\n\n*   value = Based solely on the page rotation value entered in the PDF.\n*   dimensions = Based on the ratio of the page dimensions to each other.",
                "enum" : [ "value", "dimensions" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_OrientationDetection"
                }
              },
              "pageGroup" : {
                "type" : "string",
                "default" : "all",
                "description" : "Used to select pages based on their page number within the specified page range:\n\n*   all = All pages\n*   even = All pages with an even page number\n*   odd = All pages with an odd page number",
                "enum" : [ "all", "even", "odd" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_PageGroup"
                }
              },
              "pageOrientation" : {
                "type" : "string",
                "default" : "any",
                "description" : "Used to select pages based on their orientation within the specified page range:\n\n*   any = All pages\n*   portrait = All pages in portrait format\n*   landscape = All pages in landscape format",
                "enum" : [ "any", "portrait", "landscape" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_PageOrientation"
                }
              },
              "pages" : {
                "type" : "string",
                "default" : "1",
                "description" : "Defines which page(s) should be rotated. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). To specify \"all pages,\" use an asterisk (\"\\*\")."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxScale" : {
        "type" : "object",
        "properties" : {
          "scale" : {
            "type" : "object",
            "description" : "The scale operation element can be used to scale pages in the document. In the following passage, terms such as the \"media box\", the \"bleed box\" and similar are used. This assumes, therefore, that you are familiar with the contexts described in the chapter \"Display options\".",
            "properties" : {
              "scalePages" : {
                "$ref" : "#/components/schemas/Operation_ScalePagesToolboxScale"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxSecurity" : {
        "type" : "object",
        "properties" : {
          "security" : {
            "type" : "object",
            "description" : "The security operation element can be used to encrypt and decrypt documents.",
            "properties" : {
              "decrypt" : {
                "$ref" : "#/components/schemas/Operation_Decrypt"
              },
              "encrypt" : {
                "$ref" : "#/components/schemas/Operation_Encrypt"
              },
              "encryptCertificate" : {
                "$ref" : "#/components/schemas/Operation_EncryptCertificate"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxSplit" : {
        "type" : "object",
        "properties" : {
          "split" : {
            "type" : "object",
            "description" : "The split operation element can be used to split documents.\n\n**Important:** Acroforms are correctly split, but contained XFA data are removed.",
            "properties" : {
              "fileNameTemplate" : {
                "type" : "string",
                "default" : "page[%d]",
                "description" : "If the \"split\" operation generates a ZIP document (please refer to \"mode\"), this template can be used to define the file name of the PDF document in the ZIP document. The \"%d\" placeholder must be used in the template in order to define the PDF document page."
              },
              "mode" : {
                "type" : "string",
                "default" : "last",
                "description" : "Defines the mode used to split the PDF document.\n\n*   last = Last page - Uses \"pages\" to define the last page that will be contained in the new PDF document.\n*   first = First page - Uses \"pages\" to define the first page that will be contained in the new PDF document.\n*   list = List of pages - Uses \"pages\" to define a list of pages that should be extracted from the document. A single PDF document will be created on the basis of this list.\n*   single = Selected pages - Uses the \"pages\" attribute to define a list of pages that should be extracted from the document. And creates a ZIP file with the corresponding pages.\n*   each = Every nth page - Uses the \"pages\" attribute to define the interval at which pages should be extracted. The \"startPage\" attribute is used to define the page on which the process will start. The result will be a ZIP file.\n*   group = Group pages - Multiple pages will be added to a single PDF document. The \"pages\" attribute can be used to define how many pages will be saved in a single PDF document. The \"startPage\" attribute is used to define the page on which the process will start. The result will be a ZIP file.\n*   burst = Ungroup pages - A new PDF document will be generated from each page. The result will be a ZIP file.",
                "enum" : [ "last", "first", "list", "single", "each", "group", "burst" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_SplitMode"
                }
              },
              "pages" : {
                "type" : "string",
                "default" : "1",
                "description" : "Defines which page(s) should be used for the split operation. The page number can be an individual page, a page range, or a list (separated with commas) (e.g. \"1,5-6,9\"). The \"mode\" attribute defines whether a single page or a range of pages can be used: With \"last\" and \"first,\" an individual page is specified; with \"list,\" a list of pages can be used."
              },
              "singleFileAsZip" : {
                "type" : "boolean",
                "default" : true,
                "description" : "Only mode with \"single\", \"burst\", \"each\", or \"group\". The returned pages will be generated as a ZIP file even if selection is used to select only one single file. You can change this behaviour by setting this option to \"false\". In this case, the page will not be zipped, and will instead be returned directly as is. However, this will only work if selection has been used to select one page and one page only."
              },
              "startPage" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "Used for \"each\" and \"group\" in the \"mode\" attribute.",
                "minimum" : 1
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxTranscribe" : {
        "type" : "object",
        "properties" : {
          "transcribe" : {
            "type" : "object",
            "description" : "The transcribe operation element can be used to convert a PDF document into other document formats. Errors and inaccuracies can always occur during such conversions, so the endpoint allows a report to be generated to detect and evaluate possible transfer errors both in the event of an error and in the event of a success.",
            "properties" : {
              "errorReport" : {
                "type" : "string",
                "default" : "none",
                "description" : "This parameter determines if and in which form the XML report for a failed conversion is returned.\n\n*   none = XML report is not returned\n*   message = XML report will be delivered as part of the error message\n*   file = XML report is saved to file",
                "enum" : [ "none", "file", "message" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_TranscribeErrorReport"
                }
              },
              "failureLevel" : {
                "type" : "string",
                "default" : "error",
                "description" : "This parameter determines at which error level the conversion should fail, you can use this parameter to automatically reject also results with lower precision as failure\n\n*   warning = Documents for which warnings occur will also cause the conversion to fail.\n*   missingContent = Documents for which not all content could be converted correctly will also be considered as failures.\n*   error = Only if a conversion of the document did not lead to any meaningful result document, this is evaluated as failure, even if contents should be missing.",
                "enum" : [ "warning", "missingContent", "error" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Failure"
                }
              },
              "html" : {
                "$ref" : "#/components/schemas/Operation_HtmlTranscribe"
              },
              "successReport" : {
                "type" : "string",
                "default" : "none",
                "description" : "This parameter determines if and in which form the XML report for a successful conversion is returned.\n\n*   none = XML report is not returned\n*   linked = XML report is appended to the end of the target document.\n*   zip = target document and XML report are packed together in a ZIP archive.\n\n**Important:** The format of the document created at \"errorReport\" and \"successReport\" is described via the http://schema.webpdf.de/1.0/report/transcribe.xsd schema.",
                "enum" : [ "none", "zip", "linked" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_TranscribeSuccessReport"
                }
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxWatermark" : {
        "type" : "object",
        "properties" : {
          "watermark" : {
            "type" : "object",
            "description" : "The watermark operation element can be used to add watermarks to the PDF document.",
            "properties" : {
              "angle" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 45,
                "description" : "Specifies the rotation angle for the text or image output of the watermark. Values between 0 and 360 are allowed. Rotation is performed clockwise.",
                "maximum" : 360,
                "minimum" : 0
              },
              "image" : {
                "$ref" : "#/components/schemas/Operation_WatermarkImage"
              },
              "pages" : {
                "type" : "string",
                "default" : "",
                "description" : "Specifies on which page(s) the watermark should be created. The page number can be an individual page, a page range, or a list (separated with commas) (e.g., \"1,5-6,9\"). A blank value or \"\\*\" selects all pages of the PDF document."
              },
              "text" : {
                "$ref" : "#/components/schemas/Operation_WatermarkText"
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_ToolboxXmp" : {
        "type" : "object",
        "properties" : {
          "xmp" : {
            "type" : "object",
            "description" : "The xmp operation element can be used to add XMP metadata to the document.",
            "properties" : {
              "data" : {
                "$ref" : "#/components/schemas/Operation_XmpFileData"
              },
              "dataFormat" : {
                "type" : "string",
                "default" : "json",
                "description" : "Format for the XMP metadata being added. As of this writing, only \"json\" is supported.",
                "enum" : [ "json", "xml" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_XmpDataFormat"
                }
              },
              "namespace" : {
                "$ref" : "#/components/schemas/Operation_XmpNamespace"
              }
            },
            "required" : [ "data", "namespace" ]
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_BaseToolbox"
        }
      },
      "Operation_Transition" : {
        "type" : "object",
        "description" : "Creates a page transition animation for a PDF full screen presentation. It is possible to specify several transition elements for different page ranges.",
        "properties" : {
          "autoScroll" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the next page to be automatically shown completely in full screen presentation mode after a specific time."
          },
          "autoScrollTime" : {
            "type" : "number",
            "format" : "float",
            "default" : 0,
            "description" : "The time it will take for the next page to be automatically shown completely in full screen presentation mode.",
            "minimum" : 0
          },
          "direction" : {
            "type" : "string",
            "default" : "none",
            "description" : "The direction of the transition animation (provided that it can be applied to the animation).\n\n*   leftToRight = From left to right\n*   bottomToTop = From bottom to top\n*   rightToLeft = From right to left\n*   topToBottom = From top to bottom\n*   topLeftToBottomRight = From top left to bottom right\n*   none = Use the default value for the animation",
            "enum" : [ "leftToRight", "bottomToTop", "rightToLeft", "topToBottom", "topLeftToBottomRight", "none" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TransitionDirection"
            }
          },
          "duration" : {
            "type" : "number",
            "format" : "float",
            "default" : 1,
            "description" : "The page transition animation's duration, in seconds. Make sure to avoid excessively high values, as certain reader programs will force the entire animation to be displayed without any option for interrupting it. Moreover, an excessively long animation can result in display and execution errors in the reader program. Values under 10 seconds are recommendable.",
            "minimum" : 0
          },
          "flyAreaOpaque" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Option for the \"fly\" animation style - used to define whether the page background for the page that flies in should be transparent initially."
          },
          "flyScale" : {
            "type" : "number",
            "format" : "float",
            "default" : 1,
            "description" : "Option for the \"fly\" animation style - used to define the starting scale for the page that flies in. The page will smoothly be scaled from this starting scale all the way to the size of the page being displayed."
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to define the page number or page range (e.g., \"1,5-6,9\") to which the transition animation should be applied."
          },
          "style" : {
            "type" : "string",
            "default" : "none",
            "description" : "The style of transition animation.\n\n*   blinds = Crossfades\n*   box = Crossfades in a rectangular pattern\n*   cover = Covers\n*   dissolve = Dissolves\n*   fade = Fades\n*   fly = Page flies in\n*   glitter = Page dissolves and is replaced\n*   push = Page is pushed out\n*   split = Splits page\n*   uncover = Uncovers page\n*   wipe = Wipes page\n*   none = No special effect",
            "enum" : [ "blinds", "box", "cover", "dissolve", "fade", "fly", "glitter", "push", "split", "uncover", "wipe", "none" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TransitionStyle"
            }
          }
        }
      },
      "Operation_TransitionAction" : {
        "type" : "object",
        "properties" : {
          "setTransition" : {
            "type" : "object",
            "description" : "The setTransition action shows the changes that result from the actions with the use of the defined transition animation.",
            "properties" : {
              "direction" : {
                "type" : "string",
                "default" : "leftToRight",
                "description" : "The direction of the transition animation (provided that it can be applied to the animation).\n\n*   leftToRight = From left to right\n*   bottomToTop = From bottom to top\n*   rightToLeft = From right to left\n*   topToBottom = From top to bottom\n*   topLeftToBottomRight = From top left to bottom right\n*   none = Use the default value for the animation",
                "enum" : [ "leftToRight", "bottomToTop", "rightToLeft", "topToBottom", "topLeftToBottomRight", "none" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_OutlineTransitionDirection"
                }
              },
              "duration" : {
                "type" : "number",
                "format" : "float",
                "default" : 1,
                "description" : "The page transition animation's duration, in seconds. Make sure to avoid excessively high values, as certain reader programs will force the entire animation to be displayed without any option for interrupting it. Moreover, an excessively long animation can result in display and execution errors in the reader program. Values under 10 seconds are recommended.",
                "minimum" : 0
              },
              "effectDimensionHorizontal" : {
                "type" : "boolean",
                "default" : true,
                "description" : "Option for the split and blinds animation styles - used to define the axis along which the effect should happen. true corresponds to the horizontal axis; false to the vertical one."
              },
              "flyAreaOpaque" : {
                "type" : "boolean",
                "default" : false,
                "description" : "Option for the \"fly\" animation style - used to define whether the page background for the page that flies in should be transparent initially."
              },
              "flyScale" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 100,
                "description" : "Option for the \"fly\" animation style - used to define the starting scale for the page that flies in. The page will smoothly be scaled from this starting scale all the way to the size of the page being displayed (defined as a percentage).",
                "maximum" : 6400,
                "minimum" : 0
              },
              "motionInward" : {
                "type" : "boolean",
                "default" : true,
                "description" : "Option for the split, box, and fly animation styles - defines whether the animation direction will be from the edges of the page towards the centre (true) or from the centre towards the edges (false)."
              },
              "scaling" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 100,
                "description" : "Used to set the value for zooming (as a percentage).",
                "minimum" : 0
              },
              "style" : {
                "type" : "string",
                "default" : "none",
                "description" : "The style of transition animation.\n\n*   blinds = Crossfades\n*   box = Crossfades in a rectangular pattern\n*   cover = Covers\n*   dissolve = Dissolves\n*   fade = Fades\n*   fly = Page flies in\n*   glitter = Page dissolves and is replaced\n*   push = Page is pushed out\n*   split = Splits page\n*   uncover = Uncovers page\n*   wipe = Wipes page\n*   none = No special effect",
                "enum" : [ "blinds", "box", "cover", "dissolve", "fade", "fly", "glitter", "push", "split", "uncover", "wipe", "none" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_OutlineTransitionStyle"
                }
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_URIAction" : {
        "type" : "object",
        "properties" : {
          "resolveURI" : {
            "type" : "object",
            "description" : "When activated, the resolveURI element will open a specified URI in a suitable program.",
            "properties" : {
              "uri" : {
                "type" : "string",
                "default" : "",
                "description" : "A URI that should be resolved and shown in a suitable program."
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_ActionEvent"
        }
      },
      "Operation_UpcaBarcode" : {
        "type" : "object",
        "description" : "An UPCA barcode.",
        "properties" : {
          "charset" : {
            "type" : "string",
            "default" : "utf-8",
            "description" : "Used to specify the character set in which the barcode contents should be stored."
          },
          "margin" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the width of the empty frame that should be generated around the barcode. This shall use the same metrics as the position - if no position is present, the default (mm) shall be assumed.",
            "minimum" : 0
          },
          "pages" : {
            "type" : "string",
            "default" : "",
            "description" : "The page range for generating barcodes. Individual pages or a range of pages can be defined here. If the text is empty, the entire file will be exported (e.g.: \"1-10\" or \"1,2,5-10\")"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_Rectangle"
          },
          "rotation" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to specify the barcode's rotation in 90-degree increments. When there is a value that falls under a full 90-degree increment, the next higher increment will be automatically selected.",
            "minimum" : 0
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Contains the value that should be encoded in the barcode. Depending on the selected barcode format, there may be specific criteria for the data structure. For a description, please refer to the chapter \"Barcodes\""
          }
        },
        "required" : [ "value" ]
      },
      "Operation_UrlConverter" : {
        "type" : "object",
        "description" : "The \"URLConverter\" web service van be used to convert URL resources (e.g., websites) to a PDF document.\n\n**Important:** Please keep the limitations of HTML conversion in mind (see chapter \"HTML Converter\").",
        "properties" : {
          "basicAuth" : {
            "$ref" : "#/components/schemas/Operation_HttpBasicAuth"
          },
          "page" : {
            "$ref" : "#/components/schemas/Operation_UrlConverterPage"
          },
          "proxy" : {
            "$ref" : "#/components/schemas/Operation_HttpProxy"
          },
          "url" : {
            "type" : "string",
            "default" : "",
            "description" : "The URL for the resource to be converted.\n\n**Note:**The \"file\" protocol is not supported; this applies to the resource URL itself and all resources referenced in the content."
          }
        }
      },
      "Operation_UrlConverterFooter" : {
        "type" : "object",
        "description" : "Defines the content that will be used as a footer. The content is passed in BASE64 encoded and contains HTML and (embedded) CSS code to position and format the footer.\n\nThe footer can contain the variables `${html.pageNumber}` (page number), `${html.totalPages}` (total number of pages) and `${html.title}` (HTML head meta tag `<title>`).\n\n**Important:**The footer is not used for all file format conversions. The footer is not supported for file formats that already contain their own footer definition, such as Office formats. The footer defined here works only for HTML-based formats such as HTML files, emails, or template-based conversions (e.g., text formats).\n\nExample:\n\n```html                    \n<p>\n  <span style=\"font-size: 12px\">Page ${html.pageNumber} of ${html.totalPages} pages</span>\n</p>\n```",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_UrlConverterHeader" : {
        "type" : "object",
        "description" : "Defines the content that will be used as a header. The content is passed in BASE64 encoded and contains HTML and (embedded) CSS code to position and format the header.\n\nThe header can contain the variables `${html.pageNumber}` (page number), `${html.totalPages}` (total number of pages) and `${html.title}` (HTML head meta tag `<title>`).\n\n**Important:**The header is not used for all file format conversions. The header is not supported for file formats that already contain their own header definition, such as Office formats. The header defined here works only for HTML-based formats such as HTML files, emails, or template-based conversions (e.g., text formats).\n\nExample:\n\n```html                    \n<p>\n  <span style=\"font-size: 12px\">Page ${html.pageNumber} of ${html.totalPages} pages</span>\n</p>\n```",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_UrlConverterOperation" : {
        "type" : "object",
        "properties" : {
          "billing" : {
            "$ref" : "#/components/schemas/Operation_Billing"
          },
          "password" : {
            "$ref" : "#/components/schemas/Operation_PdfPassword"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Operation_Settings"
          },
          "urlconverter" : {
            "$ref" : "#/components/schemas/Operation_UrlConverter"
          }
        },
        "required" : [ "urlconverter" ]
      },
      "Operation_UrlConverterPage" : {
        "type" : "object",
        "description" : "Sets the page size, margins, and headers and footers for the converted document in the PDF document.\n\n**Important:** The settings may override the default values for a format that itself has page settings. In addition, not all settings can be applied to all formats (see, for example, the description of headers and footers).",
        "properties" : {
          "bottom" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Bottom margin settings."
          },
          "footer" : {
            "$ref" : "#/components/schemas/Operation_UrlConverterFooter"
          },
          "header" : {
            "$ref" : "#/components/schemas/Operation_UrlConverterHeader"
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 297,
            "description" : "Page height."
          },
          "left" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Left margin settings."
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "right" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Right margin settings."
          },
          "top" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "description" : "Top margin settings."
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 210,
            "description" : "Page width."
          }
        }
      },
      "Operation_ViewerPreferences" : {
        "type" : "object",
        "description" : "Allows to change PDF reader specific settings and dialog defaults.\n\n**Important:** Whether these parameters actually have an effect, depends directly on their support in the application used to display the PDF.\n\n**Important:** Only few of those settings are actually \"enforced\" and most PDF readers will provide the viewer with the means to circumvent or even alter those settings.",
        "properties" : {
          "centerWindow" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the PDF reader window is moved to the center of the screen."
          },
          "displayDocTitle" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the document title of the document is displayed in the title bar of the PDF reader instead of the file name."
          },
          "duplex" : {
            "type" : "string",
            "default" : "none",
            "description" : "Sets whether and how pages are to be printed on both sides. (This setting is only a dialog default and can be changed by the user at any time).\n\n*   simplex = Print on one side.\n*   duplexFlipLongEdge = Print on both sides and flip over the longer edge of the page.\n*   duplexFlipShortEdge = Print on both sides and flip over the shorter side edge.\n*   none = Use the default settings of the display program.",
            "enum" : [ "none", "simplex", "duplexFlipShortEdge", "duplexFlipLongEdge" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Duplex"
            }
          },
          "fitWindow" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the window size of the PDF reader will be tried to fit the first page of the document."
          },
          "hideMenuBar" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the menu bars of the PDF reader are hidden for the display of this document."
          },
          "hideToolbar" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the toolbars of the PDF reader are hidden for the display of this document."
          },
          "hideWindowUI" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If true, the scrollbars and other navigation features of the PDF reader are hidden for the display of this document."
          },
          "nonFullScreenPageMode" : {
            "type" : "string",
            "default" : "none",
            "description" : "Konfiguriert die Anzeige des Dokuments, wenn das Dokument nicht im Vollbildmodus betrachtet wird. Dies konfiguriert in erste Linie welche Navigationsansicht für den Betrachter geöffnet werden soll.\n\n*   none = Weder die Inhaltsübersicht, noch die Miniaturansicht der Seiten sollen angezeigt werden.\n*   outlines = Die Inhaltsübersicht des Dokuments soll angezeigt werden.\n*   thumbnails = Die Miniaturansicht der Seiten des Dokuments soll angezeigt werden.\n*   optionalContents = Die Layer (Optional Content Groups) des Dokuments sollen angezeigt werden.",
            "enum" : [ "none", "outlines", "thumbnails", "optionalContents" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_NonFullScreenPageMode"
            }
          },
          "numCopies" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Specifies how many copies of the document are to be printed. (This setting is only a dialog default and can be changed by the user at any time).",
            "minimum" : 1
          },
          "printArea" : {
            "type" : "string",
            "default" : "crop_box",
            "description" : "Used to select the box that should be scaled.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "media_box", "crop_box", "bleed_box", "trim_box", "art_box" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PageBox"
            }
          },
          "printClip" : {
            "type" : "string",
            "default" : "crop_box",
            "description" : "Used to select the box that should be scaled.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "media_box", "crop_box", "bleed_box", "trim_box", "art_box" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PageBox"
            }
          },
          "printPageRange" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies which page(s) to print. For the page number, either a single page, a range of pages or a list (separated by commas) can be specified (e.g. \"1,5-6,9\"). The specification of all pages is done with \"\\*\". (This setting is only a dialog default and can be changed by the user at any time)."
          },
          "printScaling" : {
            "type" : "string",
            "default" : "readerDefault",
            "description" : "Selects the page\n\n*   scaling mode for printouts of the document. (This setting is only a dialog default and can be changed by the user at any time).\n*   readerDefault = Use the scaling functions provided by the display program.\n*   noPrintScaling = Do no page scaling and print the pages in original size.",
            "enum" : [ "readerDefault", "noPrintScaling" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PrintScale"
            }
          },
          "printTraySelection" : {
            "type" : "string",
            "default" : "readerDefault",
            "description" : "Selects the default setting for how print trays should be selected for printing the pages of the document. (This setting is only a dialog default and can be changed by the user at any time).\n\n*   readerDefault = Use the default settings of the display program.\n*   byPDFSize = Try to determine the necessary paper size and the used print tray automatically based on the size of the pages of the document.",
            "enum" : [ "readerDefault", "byPDFSize" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PrintTraySelection"
            }
          },
          "textDirection" : {
            "type" : "string",
            "default" : "leftToRight",
            "description" : "Specifies the text reading direction for the display program's read aloud.\n\n*   leftToRight = From left to right.\n*   rightToLeft = From right to left. (Including vertical fonts, such as: Chinese, Japanese, Korean, etc.).",
            "enum" : [ "leftToRight", "rightToLeft" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_TextDirection"
            }
          },
          "viewArea" : {
            "type" : "string",
            "default" : "crop_box",
            "description" : "Used to select the box that should be scaled.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "media_box", "crop_box", "bleed_box", "trim_box", "art_box" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PageBox"
            }
          },
          "viewClip" : {
            "type" : "string",
            "default" : "crop_box",
            "description" : "Used to select the box that should be scaled.\n\n*   media\\_box = The page's physical dimensions.\n*   crop\\_box = The visible (printable) page area.\n*   bleed\\_box = Untrimmed content position on the page (content dimensions plus trim box).\n*   trim\\_box = Trimmed content position on the page (final content dimensions).\n*   art\\_box = Position for special page content (images).",
            "enum" : [ "media_box", "crop_box", "bleed_box", "trim_box", "art_box" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_PageBox"
            }
          }
        }
      },
      "Operation_VisibilityBackgroundBaseSettings" : {
        "type" : "object",
        "description" : "Used to define the element's visibility in various use contexts.",
        "properties" : {
          "onPrint" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If true, the background will be printed when the document is printed."
          },
          "onScreen" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If true, the background will be shown when the document is displayed."
          }
        }
      },
      "Operation_WatermarkFileData" : {
        "type" : "object",
        "description" : "Contains the watermark image file in \"Base64 encoded\" format.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_WatermarkFont" : {
        "type" : "object",
        "description" : "Used to specify the font used for a watermark.",
        "properties" : {
          "bold" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Used to increase the text output's weight."
          },
          "color" : {
            "type" : "string",
            "default" : "#A0A0A0",
            "description" : "Used to set the colour for the watermark. The hereby defined color needs to be specified as a hexadecimal RGB value with a number sign before it.",
            "pattern" : "#[0-9a-fA-F]{6}"
          },
          "italic" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Used to set the italic font posture for the text output."
          },
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the name of the font that should be used for the text output. If a font is not specified, \"Helvetica\" will be used."
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "Used to set the opacity of the text output as a watermark.",
            "maximum" : 100,
            "minimum" : 0
          },
          "outline" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Uses an outline font for the text output."
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 24,
            "description" : "Used to set the text size for the text output.",
            "maximum" : 1296,
            "minimum" : 1
          }
        }
      },
      "Operation_WatermarkImage" : {
        "type" : "object",
        "description" : "Used to add an image as a watermark.",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/Operation_WatermarkFileData"
          },
          "opacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 25,
            "description" : "Used to set the image's opacity. A percent value between 0 and 100 is allowed, whereby 0 equals the minimum opacity. The higher the value, the more the content of the PDF document will be covered over.",
            "maximum" : 100,
            "minimum" : 0
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_WatermarkPosition"
          },
          "scale" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Specifies the scaling of the image in percent.",
            "minimum" : 0
          }
        },
        "required" : [ "data" ]
      },
      "Operation_WatermarkPosition" : {
        "type" : "object",
        "description" : "Used to set the position of the watermark in the PDF document.",
        "properties" : {
          "aspectRatio" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Forces the aspect ratio to be maintained when a watermark is scaled if \"width\" and \"height\" are specified."
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Forces the specified height for the watermark if the values are not equal 0. In this case, the watermark will be scaled inside the area, which may result in the image losing quality or being distorted (please refer to \"aspectRatio\" as well)",
            "minimum" : 0
          },
          "metrics" : {
            "type" : "string",
            "default" : "mm",
            "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
            "enum" : [ "pt", "pc", "px", "mm", "in" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_Metrics"
            }
          },
          "position" : {
            "type" : "string",
            "default" : "center_center",
            "description" : "Uses one of multiple preset positions in order to position the watermark on the page.\n\n*   custom = Disable the use of a preset position.\n*   top\\_left = Positions the watermark in the upper left corner.\n*   top\\_center = Positions the watermark in the centre at the top margin.\n*   top\\_right = Positions the watermark in the top right corner.\n*   center\\_left = Positions the watermark at the centre of the page, to the left.\n*   center\\_center = Positions the watermark at the centre of the page.\n*   center\\_right = Positions the watermark at the centre of the page, to the right.\n*   bottom\\_left = Positions the watermark in the bottom left corner.\n*   bottom\\_center = Positions the watermark in the centre at the bottom margin.\n*   bottom\\_right = Positions the watermark in the bottom right corner.",
            "enum" : [ "custom", "top_left", "top_center", "top_right", "center_left", "center_center", "center_right", "bottom_left", "bottom_center", "bottom_right" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_WatermarkPositionMode"
            }
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Forces the specified width for the watermark if the values are not equal 0. In this case, the watermark will be scaled inside the area, which may result in the image losing quality or being distorted (please refer to \"aspectRatio\" as well)",
            "minimum" : 0
          },
          "x" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to define the X-axis position (as per metrics), starting from the top left corner of the PDF document, if position is set to \"custom.\". If \"position is set to a different value, these arguments will be interpreted as \"offsets\" from the selected position. This specification applies for both the text and image output.",
            "minimum" : 0
          },
          "y" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Used to define the Y-axis position (as per metrics), starting from the top left corner of the PDF document, if position is set to \"custom.\". If \"position is set to a different value, these arguments will be interpreted as \"offsets\" from the selected position. This specification applies for both the text and image output.",
            "minimum" : 0
          }
        }
      },
      "Operation_WatermarkText" : {
        "type" : "object",
        "description" : "Used to add a text watermark.",
        "properties" : {
          "font" : {
            "$ref" : "#/components/schemas/Operation_WatermarkFont"
          },
          "position" : {
            "$ref" : "#/components/schemas/Operation_WatermarkPosition"
          },
          "text" : {
            "type" : "string",
            "default" : "Confidential",
            "description" : "Specifies the text which will be output as a watermark."
          }
        }
      },
      "Operation_WindowsLaunchParameter" : {
        "type" : "object",
        "properties" : {
          "arguments" : {
            "type" : "string",
            "default" : "",
            "description" : "The arguments that should be passed to the application when making a call."
          },
          "directory" : {
            "type" : "string",
            "default" : "",
            "description" : "Used to specify the basic path, using standard DOS syntax, from which navigation will take place."
          },
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "A Windows filename using the standard Windows path syntax. If there is a backslash in the specified path, it must be escaped by preceding it with another backslash."
          },
          "operation" : {
            "type" : "string",
            "default" : "open",
            "description" : "Used to specify the standard operation that should be carried out with the specified document.\n\n*   open = Open the document.\n*   print = Print the document.",
            "enum" : [ "open", "print" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ApplicationOperation"
            }
          }
        }
      },
      "Operation_XRechnung" : {
        "type" : "object",
        "description" : "This element defines one \"XRechnung\" transformation and the resources and parameters necessary for it.",
        "properties" : {
          "visualization" : {
            "$ref" : "#/components/schemas/Operation_XRechnungResources"
          }
        }
      },
      "Operation_XRechnungResources" : {
        "type" : "object",
        "description" : "This element defines a transformation and the resources and parameters needed for it. An XLST stylesheet must be used, which creates an HTML output. The specification of the element `<visualization>` is optional, because a default layout is stored on the server. The `<visualization>` element can contain one or more `<file>` entries, but must define at least one XLST stylesheet.",
        "properties" : {
          "file" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_XslTransformationFile"
            }
          }
        }
      },
      "Operation_XmpFileData" : {
        "type" : "object",
        "description" : "Contains the XMP metadata that needs to be added, Base64 encoded. Please refer to the chapter \"XMP Metadata\" for a description of the structure.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_XmpNamespace" : {
        "type" : "object",
        "description" : "Used to set the namespace for XMP metadata.",
        "properties" : {
          "namespaceName" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the namespace for the XMP data (e.g. \"webPDF XMP Properties\")"
          },
          "namespacePrefix" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the prefix for the XMP data (e.g. \"webpdf\")"
          },
          "namespaceURI" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the URI for the XMP data (e.g. \"http://ns.webpdf.de/webpdf/6.0/\")"
          }
        }
      },
      "Operation_XslTransformation" : {
        "type" : "object",
        "description" : "This element defines one XSLT transformation and the resources and parameters necessary for it.",
        "properties" : {
          "resources" : {
            "$ref" : "#/components/schemas/Operation_XslTransformationResources"
          }
        }
      },
      "Operation_XslTransformationFile" : {
        "type" : "object",
        "description" : "This element defines a file necessary for the transformation, which is passed \"Base64 encoded\". This element can be used with `<resources>` or `<visualization>`. In the case of `<resources>`, this is a file that defines, for example, an XLST stylesheet or a CSS resource. In the case of an X invoice and the parent `<visualization>` it defines a file (XLST stylesheet) which defines a different layout for the PDF output.",
        "properties" : {
          "fileName" : {
            "type" : "string",
            "default" : "",
            "description" : "The filename of the file. This is the name under which the resource can be found again and is especially important for resources that are referenced from other files passed here via this name. (For example, the name of a CSS stylesheet that is referenced by name from an XSLT stylesheet)."
          },
          "format" : {
            "type" : "string",
            "default" : "xslt",
            "description" : "The type of the resource passed\n\n*   xlst = An XSLT stylesheet to be used for the transformation.\n*   other = Any other resource that is needed for the transformation. For example, this can be a CSS stylesheet, which is used by an output file of a transformation if it results in HTML output.\n\n**Important:** The order of the resources can be important if multiple transformations are to be performed, i.e. multiple resources of the format \"xlst\" are passed. The transformations are performed in the order in which they are passed, in which case each transformation uses the output of the previous transformation as the starting point for its own transformation.",
            "enum" : [ "xslt", "other" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_XslTransformationFileFormat"
            }
          },
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          }
        }
      },
      "Operation_XslTransformationResources" : {
        "type" : "object",
        "description" : "This element defines all resources necessary for the transformation. (In the case of XSLT, for example, the XSL stylesheet itself and - if necessary - additional \\*.css, \\*.js files or similar). Any number of resources can be passed, but at least one must be present for the transformation to succeed. The individual resources are passed via the individual `<file>` elements, which can occur multiple times.",
        "properties" : {
          "file" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Operation_XslTransformationFile"
            }
          }
        }
      },
      "Operation_ZoomDestination" : {
        "type" : "object",
        "properties" : {
          "zoomPage" : {
            "type" : "object",
            "description" : "The zoomPage element is used to specify a location within the document. It will jump to a page in the document, select an area, and set a zoom factor for display.",
            "properties" : {
              "leftOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the left page margin."
              },
              "metrics" : {
                "type" : "string",
                "default" : "px",
                "description" : "Unit for the X-axis/Y-axis position and signature field height and width arguments:\n\n*   pt = Points(1/72 inch)\n*   pc = Picas(12 points)\n*   px = Pixels(1/96 inch)\n*   mm = Millimeters\n*   in = Inches",
                "enum" : [ "pt", "pc", "px", "mm", "in" ],
                "x-webpdf-codegen" : {
                  "enumName" : "Operation_Metrics"
                }
              },
              "page" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "description" : "The document page to which the jump will be.",
                "minimum" : 1
              },
              "topOffset" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 0,
                "description" : "The area's offset from the top page margin."
              },
              "zoom" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 100,
                "description" : "Used to set the value for zooming (as a percentage).",
                "maximum" : 6400,
                "minimum" : 0
              }
            }
          }
        },
        "x-webpdf-codegen" : {
          "extends" : "Operation_DestinationEvent"
        }
      },
      "Operation_Zugferd" : {
        "type" : "object",
        "description" : "This element can be optionally used to integrate a ZUGFeRD document. The document must at least be converted to PDF/A-3 format.",
        "properties" : {
          "xmlFile" : {
            "$ref" : "#/components/schemas/Operation_ZugferdFileData"
          }
        },
        "required" : [ "xmlFile" ]
      },
      "Operation_ZugferdFileData" : {
        "type" : "object",
        "description" : "ZUGFeRD file (XML) in \"Base64 encoded\" format. The ZUGFeRD XSD schema will be used to validate the file before embedding. If it is not valid, the operation will be aborted.",
        "properties" : {
          "source" : {
            "type" : "string",
            "default" : "value",
            "description" : "Selects the data source for the hereby expressed resource. Possible values are:\n\n*   value = The element's value shall contain the BASE64 encoded data.\n*   uri = The data shall be located at the given uri.",
            "enum" : [ "value", "uri" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_FileDataSource"
            }
          },
          "uri" : {
            "type" : "string",
            "default" : "",
            "description" : "The uri the data shall be located at. (This shall only have effect, if the \"source\" is \"uri\".)"
          },
          "value" : {
            "type" : "string",
            "format" : "byte"
          },
          "version" : {
            "type" : "string",
            "default" : "v10Comfort",
            "description" : "Used to define the version of the ZUGFeRD XML file that should be embedded with \"xmlFile\". Versions from 1.0 to 2.3 are supported. Only the \"Comfort\" profile is available for version 1.0. Meanwhile, the \"Minimum\", \"Basic WL\", \"Basic\", \"EN16931\" (Comfort), and \"Extended\" profiles are supported for version 2.0.\n\n**Note:** Since version 2.x, the referenced profile \"XRECHNUNG\" is additionally available. This profile has been included specifically to include invoices for Germany, based on and under the sole responsibility of KoSIT, Germany's central coordination agency for IT's e-invoice CIUS \"XRechnung\". It is defined as the Standard for electronic invoices issued to public administrations, and essentially adds specific business rules to EN 16931 in order to comply with national laws and regulations.\n\n**Note:** Since version 2.1.1 ZUGFeRD and Factur-X are technically identical, and both formats use Factur-X as common identification.\n\nList of versions with the corresponding profiles:\n\n*   v10Comfort\n*   v20Minimum\n*   v20BasicWL\n*   v20Basic\n*   v20EN16931\n*   v20Extended\n*   v21Minimum\n*   v21BasicWL\n*   v21Basic\n*   v21EN16931\n*   v21Extended\n*   v21XRechnung\n*   v22Minimum\n*   v22BasicWL\n*   v22Basic\n*   v22EN16931\n*   v22Extended\n*   v22XRechnung\n*   v23Minimum\n*   v23BasicWL\n*   v23Basic\n*   v23EN16931\n*   v23Extended\n*   v23XRechnung",
            "enum" : [ "v10Comfort", "v20Minimum", "v20BasicWL", "v20Basic", "v20EN16931", "v20Extended", "v21Minimum", "v21BasicWL", "v21Basic", "v21EN16931", "v21Extended", "v21XRechnung", "v22Minimum", "v22BasicWL", "v22Basic", "v22EN16931", "v22Extended", "v22XRechnung", "v23Minimum", "v23BasicWL", "v23Basic", "v23EN16931", "v23Extended", "v23XRechnung" ],
            "x-webpdf-codegen" : {
              "enumName" : "Operation_ZugferdVersion"
            }
          }
        }
      },
      "Portal_Environment" : {
        "type" : "object",
        "properties" : {
          "fonts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "printers" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "readOnly" : true
      },
      "Portal_Functions" : {
        "type" : "object",
        "properties" : {
          "addWatermark" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"add watermark\" dialog is deactivated."
          },
          "changeDocumentSettings" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"change document settings\" dialog is deactivated."
          },
          "changeDocumentView" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, the \"change document view\" dialog is deactivated."
          },
          "compress" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"compress\" dialog is deactivated."
          },
          "convertDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If deactivated, then the \"convert document\" dialog is deactivated."
          },
          "createBarcode" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"create Barcode\" dialog is deactivated."
          },
          "deletePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"delete pages\" dialog is deactivated."
          },
          "detectBarcode" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"detect Barcode\" dialog is deactivated."
          },
          "editAnnotation" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit annotation\" dialog is deactivated."
          },
          "editAttachment" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit attachment\" dialog is deactivated."
          },
          "editBackground" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit background\" dialog is deactivated."
          },
          "editBoxes" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit boxes\" dialog is deactivated."
          },
          "editForms" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit forms\" dialog is deactivated."
          },
          "editHeaderFooter" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit header/footer\" dialog is deactivated."
          },
          "editTransitions" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit transitions\" dialog is deactivated."
          },
          "encryptDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"encrypt document\" dialog is deactivated."
          },
          "exportAsImage" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"export as image\" dialog is deactivated."
          },
          "extractContent" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"extract content\" dialog is deactivated."
          },
          "extractPages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"extract pages\" dialog is deactivated."
          },
          "mergeDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"merge document\" dialog is deactivated."
          },
          "movePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"move pages\" dialog is deactivated."
          },
          "ocrConversion" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"OCR conversion\" dialog is deactivated."
          },
          "outline" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"edit outline\" dialog is deactivated."
          },
          "pdfaConversion" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"PDF/A conversion\" dialog is deactivated."
          },
          "portfolio" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"portfolio\" dialog is deactivated."
          },
          "printDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"print document\" dialog is deactivated."
          },
          "redact" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"redact\" dialog is deactivated."
          },
          "renameDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"rename document\" dialog is deactivated."
          },
          "rotatePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"rotate pages\" dialog is deactivated."
          },
          "sanitize" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"sanitize\" dialog is deactivated."
          },
          "scalePages" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"scale pages\" dialog is deactivated."
          },
          "showHelp" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When set to true the portal page shall display help and info messages."
          },
          "signDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"sign document\" dialog is deactivated."
          },
          "splitDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"split document\" dialog is deactivated."
          },
          "transcribeDocument" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"transcribe document\" dialog is deactivated."
          },
          "uploadFile" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the \"upload file\" dialog is deactivated."
          },
          "uploadUrl" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If disabled, then the URL to PDF conversion is deactivated."
          }
        },
        "readOnly" : true
      },
      "Portal_Information" : {
        "type" : "object",
        "description" : "Provides information for building and controlling the portal page.",
        "properties" : {
          "environment" : {
            "$ref" : "#/components/schemas/Portal_Environment"
          },
          "functionsStatus" : {
            "$ref" : "#/components/schemas/Portal_Functions"
          },
          "localAuth" : {
            "$ref" : "#/components/schemas/Portal_LocalAuth"
          },
          "newsPanel" : {
            "$ref" : "#/components/schemas/Portal_News"
          },
          "oauth" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Auth_Provider"
            }
          },
          "serverMode" : {
            "$ref" : "#/components/schemas/Cluster_Mode"
          },
          "serverStart" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          },
          "serverVersion" : {
            "type" : "string",
            "default" : ""
          },
          "settings" : {
            "$ref" : "#/components/schemas/Portal_Settings"
          },
          "userInterface" : {
            "$ref" : "#/components/schemas/Portal_UserInterface"
          },
          "webserviceStatus" : {
            "$ref" : "#/components/schemas/Admin_Webservices"
          }
        },
        "readOnly" : true
      },
      "Portal_LocalAuth" : {
        "type" : "object",
        "properties" : {
          "allowAnonymous" : {
            "type" : "boolean",
            "default" : false
          },
          "apiEnabled" : {
            "type" : "boolean",
            "default" : false
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false
          },
          "timeout" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalAuthTimeout"
          },
          "userStorage" : {
            "$ref" : "#/components/schemas/Portal_UserStorage"
          }
        },
        "readOnly" : true
      },
      "Portal_News" : {
        "type" : "object",
        "properties" : {
          "contentRefreshInterval" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 60
          },
          "entry" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApplicationConfig_NewsPanelEntry"
            }
          }
        },
        "readOnly" : true
      },
      "Portal_Settings" : {
        "type" : "object",
        "properties" : {
          "compress" : {
            "$ref" : "#/components/schemas/ApplicationConfig_CompressPortalSettings"
          },
          "signature" : {
            "$ref" : "#/components/schemas/ApplicationConfig_SignaturePortalSettings"
          }
        },
        "readOnly" : true
      },
      "Portal_UserInterface" : {
        "type" : "object",
        "description" : "Provides information for the user interface of the portal page.",
        "properties" : {
          "limits" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalUserInterfaceLimits"
          },
          "resources" : {
            "$ref" : "#/components/schemas/Portal_UserInterfaceResources"
          },
          "tooltips" : {
            "$ref" : "#/components/schemas/ApplicationConfig_PortalUserInterfaceTooltips"
          }
        },
        "readOnly" : true
      },
      "Portal_UserInterfaceResources" : {
        "type" : "object",
        "description" : "Provides information about the (file) resources used in the portal page user interface.",
        "properties" : {
          "backgroundFileName" : {
            "type" : "string",
            "default" : "",
            "description" : "The file name used for the background file in the portal. If it is empty, the default background is used, otherwise a custom background was uploaded and saved under the specified name."
          },
          "logoFileName" : {
            "type" : "string",
            "default" : "",
            "description" : "The file name used for the logo file in the portal. If it is empty, the default logo is used, otherwise a custom logo was uploaded and saved under the specified name."
          },
          "themeFileName" : {
            "type" : "string",
            "default" : "",
            "description" : "The file name used for the CSS file to customize the theme in the portal. If it is empty, no customized theme is used, otherwise a custom CSS file was uploaded and saved under the specified name."
          }
        },
        "readOnly" : true
      },
      "Portal_UserStorage" : {
        "type" : "string",
        "default" : "unknown",
        "enum" : [ "unknown", "internal", "database", "ldap", "azure_ad" ]
      },
      "Provider_ProviderEntry" : {
        "type" : "object",
        "properties" : {
          "configurationContent" : {
            "type" : "string",
            "format" : "byte"
          },
          "configurationFileName" : {
            "type" : "string",
            "default" : "",
            "readOnly" : true
          },
          "configurationFileType" : {
            "$ref" : "#/components/schemas/Admin_ProviderConfigurationFormat"
          },
          "name" : {
            "type" : "string",
            "default" : ""
          }
        }
      },
      "Provider_Settings" : {
        "type" : "object",
        "properties" : {
          "documentStorage" : {
            "$ref" : "#/components/schemas/Provider_ProviderEntry"
          },
          "fileStorage" : {
            "$ref" : "#/components/schemas/Provider_ProviderEntry"
          },
          "sessionStorage" : {
            "$ref" : "#/components/schemas/Provider_ProviderEntry"
          }
        }
      },
      "ServerConfig_Apr" : {
        "type" : "object",
        "description" : "Configures an [APR Lifecycle Listener](https://tomcat.apache.org/tomcat-10.0-doc/config/listeners.html) for the underlying tomcat server.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the APR Lifecycle Listener shall be activated."
          },
          "fipsMode" : {
            "type" : "string",
            "default" : "off",
            "description" : "Set this to \"on\" to request SSL to operate in FIPS (Federal Information Processing Standards) mode.\n\n*   \"enter\" to force OpenSSL to enter FIPS mode.\n*   \"require\" to require that OpenSSL already operates in FIPS mode.\n*   \"off\" to disable the FIPS mode.\n\nFor this to take effect \"useOpenSSL\" must be set to true. (It is highly recommended to refer to https://tomcat.apache.org/tomcat-10.0-doc/config/listeners.html)"
          },
          "sslEngine" : {
            "type" : "string",
            "default" : "on",
            "description" : "Selects the [SSL](https://www.openssl.org/) engine to use, possible values are \"off\" (do not use SSL) \"on\" (use SSL without specifying the engine)."
          },
          "sslRandomSeed" : {
            "type" : "string",
            "default" : "builtin",
            "description" : "An entropy source to seed the SSL engine's random number generation with. To allow for quicker start time, set this to \"/dev/urandom\"."
          },
          "useAprConnector" : {
            "type" : "boolean",
            "default" : false,
            "description" : "This field currently is unused."
          },
          "useOpenSSL" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When set to true this activates the usage of OpenSSL for NIO and NIO2 connectors."
          }
        }
      },
      "ServerConfig_CiphersSSL" : {
        "type" : "object",
        "description" : "Selects encryption algorithms (ciphers) used by the TLS connector.",
        "properties" : {
          "cipher" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "forceOrder" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, this forces the client to honor the TLS connector's cipher preference order. Otherwise, the client can select any cipher from the list itself."
          }
        }
      },
      "ServerConfig_Connector" : {
        "type" : "object",
        "description" : "A [connector](https://tomcat.apache.org/tomcat-10.1-doc/config/http.html) defines the properties of a port the server can be accessed by.",
        "properties" : {
          "address" : {
            "type" : "string",
            "default" : "",
            "description" : "The IP address to which the connector should bind. If not defined, all IP addresses are used."
          },
          "compressibleMimeType" : {
            "type" : "string",
            "default" : "text/html,text/xml,text/css,application/json,application/javascript",
            "description" : "Selects the MIME Types of message contents, that may be compressed via GZIP compression."
          },
          "compression" : {
            "type" : "string",
            "default" : "on",
            "description" : "Specifies whether to apply GZIP compression to the message to save bandwidth.\n\n*   off = disable compression.\n*   on = allow compression, which causes text data to be compressed.\n*   force = forces compression in all cases.",
            "enum" : [ "on", "off", "force" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_CompressionMode"
            }
          },
          "compressionMinSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2048,
            "description" : "Sets the minimum number of bytes a message must reach before GZIP compression shall be applied."
          },
          "configuration" : {
            "$ref" : "#/components/schemas/ServerConfig_ConnectorConfiguration"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When set to true this connector is active and may be used to connect to the server."
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 8080,
            "description" : "The port the connector is listening to.",
            "minimum" : 1
          },
          "protocol" : {
            "type" : "string",
            "default" : "HTTP/1.1",
            "description" : "The protocol to use for the connector.\n\n*   HTTP/1.1 = Non blocking java NIO connector.\n*   HTTP/2.0 = Non blocking java NIO2 connector.\n*   AJP/1.3 = The APR/native connector.",
            "enum" : [ "HTTP/1.1", "HTTP/2.0", "AJP/1.3" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_ConnectorProtocol"
            }
          },
          "proxy" : {
            "$ref" : "#/components/schemas/ServerConfig_Proxy"
          },
          "ssl" : {
            "$ref" : "#/components/schemas/ServerConfig_SSL"
          }
        }
      },
      "ServerConfig_ConnectorAttribute" : {
        "type" : "object",
        "description" : "Defines a single configuration setting via a name-value pair.",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the name of the configuration setting"
          },
          "value" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the value of the configuration setting"
          }
        }
      },
      "ServerConfig_ConnectorConfiguration" : {
        "type" : "object",
        "description" : "Allows setting the configuration values for the \"HTTP Connector\" as described in the [Tomcat manual](https://tomcat.apache.org/tomcat-10.1-doc/config/http.html).\n\n*   [Attributes](https://tomcat.apache.org/tomcat-10.1-doc/config/http.html#Attributes)\n*   [SSL Support - SSLHostConfig](https://tomcat.apache.org/tomcat-10.1-doc/config/http.html#SSL_Support_-_SSLHostConfig)",
        "properties" : {
          "attribute" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ServerConfig_ConnectorAttribute"
            }
          }
        }
      },
      "ServerConfig_ConnectorsServer" : {
        "type" : "object",
        "description" : "Defines a series of connectors that the server listens to. These can provide encrypted or unencrypted access to the server.",
        "properties" : {
          "connector" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ServerConfig_Connector"
            }
          }
        }
      },
      "ServerConfig_Health" : {
        "type" : "object",
        "description" : "Configures health endpoint management settings.\n\nIf this element is absent, all management operations on health endpoints are disabled (fail-closed).",
        "properties" : {
          "shutdown" : {
            "$ref" : "#/components/schemas/ServerConfig_HealthShutdown"
          }
        }
      },
      "ServerConfig_HealthShutdown" : {
        "type" : "object",
        "description" : "Configures Bearer Token authentication for the `POST /health/shutdown` management endpoint (Two-Phase Shutdown Phase 1).\n\nThe endpoint is activated by setting a non-empty token. If no token is configured, the endpoint returns `404 Not Found`.\n\nPrimary token source: XML attribute `token`.\n\nOverride via environment variable `WEBPDF_HEALTH_SHUTDOWN_TOKEN` or system property `webpdf.health.shutdown.token` (takes precedence over XML value).",
        "properties" : {
          "token" : {
            "type" : "string",
            "default" : "",
            "description" : "The Bearer token required to access the `POST /health/shutdown` endpoint.\n\nSetting a non-empty token activates the endpoint. Without a token the endpoint returns `404 Not Found`.\n\nCan be overridden via environment variable `WEBPDF_HEALTH_SHUTDOWN_TOKEN` or system property `webpdf.health.shutdown.token`.\n\nUse a strong random token (e.g., 32+ characters) in production environments."
          }
        }
      },
      "ServerConfig_Host" : {
        "type" : "object",
        "description" : "Defines the host name and context path of the server.",
        "properties" : {
          "contextPath" : {
            "type" : "string",
            "default" : "webPDF",
            "description" : "Sets the context path of the server address for the portal and the web services (e.g., http://localhost/webPDF)."
          },
          "csp" : {
            "$ref" : "#/components/schemas/ServerConfig_HostCsp"
          },
          "filter" : {
            "type" : "array",
            "description" : "A `filter` element represents a component to insert into the request processing pipeline of the underlying Tomcat server. (See: https://tomcat.apache.org/tomcat-10.1-doc/config/filter.html for further information.)",
            "items" : {
              "$ref" : "#/components/schemas/ServerConfig_HostFilter"
            }
          },
          "name" : {
            "type" : "string",
            "default" : "localhost",
            "description" : "Sets the host name part of the server address (e.g. http://localhost)."
          },
          "valve" : {
            "type" : "array",
            "description" : "A `valve` element represents a component to insert into the request processing pipeline of the underlying Tomcat server. (See: https://tomcat.apache.org/tomcat-10.1-doc/config/valve.html for further information.)",
            "items" : {
              "$ref" : "#/components/schemas/ServerConfig_HostValve"
            }
          }
        }
      },
      "ServerConfig_HostCsp" : {
        "type" : "object",
        "description" : "The `csp` element allows you to set a content security policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) for the server portal page.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, the CSP is activated. The HTTP header \"Content-Security-Policy\" is added, and a \"nonce\" is added to the required resources."
          },
          "headerValue" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the value for the HTTP header `Content-Security-Policy`. Use `${nonce}` to insert a nonce value from the server for the entry `'nonce-...'`."
          }
        }
      },
      "ServerConfig_HostFilter" : {
        "type" : "object",
        "description" : "A `filter` element represents a component to insert into the request processing pipeline of the underlying Tomcat server. (See: https://tomcat.apache.org/tomcat-10.1-doc/config/filter.html for further information.)",
        "properties" : {
          "className" : {
            "type" : "string",
            "default" : "",
            "description" : "The Java class name of the filter implementation to use."
          },
          "mapping" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ServerConfig_HostFilterMapping"
            }
          },
          "parameter" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ServerConfig_HostFilterParameter"
            }
          }
        }
      },
      "ServerConfig_HostFilterMapping" : {
        "type" : "object",
        "description" : "Defines the URL pattern assignment for the filter (e.g. \"/\\*\" for all URLs)",
        "properties" : {
          "pattern" : {
            "type" : "string",
            "default" : ""
          }
        },
        "required" : [ "pattern" ]
      },
      "ServerConfig_HostFilterParameter" : {
        "type" : "object",
        "description" : "Defines a parameter for the filter that consists of a `name` and a `value`",
        "properties" : {
          "name" : {
            "type" : "string",
            "default" : ""
          },
          "value" : {
            "type" : "string",
            "default" : ""
          }
        },
        "required" : [ "name", "value" ]
      },
      "ServerConfig_HostValve" : {
        "type" : "object",
        "description" : "A `valve` element represents a component to insert into the request processing pipeline of the underlying Tomcat server. (See: https://tomcat.apache.org/tomcat-10.1-doc/config/valve.html for further information.)",
        "properties" : {
          "className" : {
            "type" : "string",
            "default" : "",
            "description" : "The Java class name of the valve implementation to use."
          },
          "otherAttributes" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        }
      },
      "ServerConfig_Keystore" : {
        "type" : "object",
        "description" : "Defines a certificate keystore.",
        "properties" : {
          "file" : {
            "type" : "string",
            "default" : "ssl.jks",
            "description" : "The name of the keystore file to use."
          },
          "password" : {
            "type" : "string",
            "default" : "webpdf",
            "description" : "The password required to access the keystore."
          },
          "type" : {
            "type" : "string",
            "default" : "JKS",
            "description" : "The format of the keystore file containing the certificate (or certificate chain) and private key (optionally encrypted) to be used for SSL encryption.\n\n*   JKS = A Java keystore (file based with an extension like \".jks\").\n*   PKCS12 = A PKCS12 keystore (file based with the extensions like \".p12\" or \".pfx\").\n*   PEM = A PEM-encoded keystore (file based with extensions like \".pem\" or \".cabundle\").\n*   WINDOWS\\_MACHINE = The Windows certificate store of the machine on which the server is running.\n*   WINDOWS\\_USER = The Windows certificate store of the user account under which the server is running.",
            "enum" : [ "JKS", "PKCS12", "PEM", "WINDOWS_MACHINE", "WINDOWS_USER" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_SSLKeystoreFormat"
            }
          }
        }
      },
      "ServerConfig_KeystoreSSL" : {
        "type" : "object",
        "description" : "Defines the keystore with the private server key and the certificate used to encrypt the connection. This keystore may only contain exactly one certificate or certificate chain with one private key.",
        "properties" : {
          "alias" : {
            "type" : "string",
            "default" : "",
            "description" : "The alias used for the private server key and certificate in the keystore. Can be empty if the keystore only contains a single certificate."
          },
          "file" : {
            "type" : "string",
            "default" : "ssl.jks",
            "description" : "The name of the keystore file to use."
          },
          "password" : {
            "type" : "string",
            "default" : "webpdf",
            "description" : "The password required to access the keystore."
          },
          "type" : {
            "type" : "string",
            "default" : "JKS",
            "description" : "The format of the keystore file containing the certificate (or certificate chain) and private key (optionally encrypted) to be used for SSL encryption.\n\n*   JKS = A Java keystore (file based with an extension like \".jks\").\n*   PKCS12 = A PKCS12 keystore (file based with the extensions like \".p12\" or \".pfx\").\n*   PEM = A PEM-encoded keystore (file based with extensions like \".pem\" or \".cabundle\").\n*   WINDOWS\\_MACHINE = The Windows certificate store of the machine on which the server is running.\n*   WINDOWS\\_USER = The Windows certificate store of the user account under which the server is running.",
            "enum" : [ "JKS", "PKCS12", "PEM", "WINDOWS_MACHINE", "WINDOWS_USER" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_SSLKeystoreFormat"
            }
          }
        }
      },
      "ServerConfig_LocalAuth" : {
        "type" : "object",
        "description" : "Defines the local authorization provider that authenticates users and provides authorization tokens for API access.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, the local authorization provider is available to authenticate the user login and provide tokens for accessing the server API. If disabled, only external (e.g., OAuth) access tokens are allowed for API calls."
          },
          "rest" : {
            "$ref" : "#/components/schemas/ServerConfig_LocalAuthRest"
          },
          "soap" : {
            "$ref" : "#/components/schemas/ServerConfig_LocalAuthSoap"
          }
        },
        "required" : [ "rest", "soap" ]
      },
      "ServerConfig_LocalAuthRest" : {
        "type" : "object",
        "description" : "Defines the settings for accessing the server's REST API (web services).",
        "properties" : {
          "accessToken" : {
            "$ref" : "#/components/schemas/ServerConfig_SessionAccessToken"
          },
          "allowAnonymous" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then anonymous logins (without a username and password) are allowed."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the REST API is available."
          },
          "limits" : {
            "$ref" : "#/components/schemas/ServerConfig_SessionLimits"
          },
          "maxTimeSkew" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The maximum time skew that may occur between the local time of the client and the local time of the token issuer (the local server)."
          },
          "refreshToken" : {
            "$ref" : "#/components/schemas/ServerConfig_SessionRefreshToken"
          }
        }
      },
      "ServerConfig_LocalAuthSoap" : {
        "type" : "object",
        "description" : "Defines the settings for accessing the server's SOAP API (web services).",
        "properties" : {
          "allowAnonymous" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then anonymous logins (without a username and password) are allowed."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "If enabled, then the SOAP API is available."
          }
        }
      },
      "ServerConfig_OAuth" : {
        "type" : "object",
        "description" : "Defines settings for external OAuth2 providers that issue authorization tokens to clients required for API access. The settings are necessary to validate the validity of the tokens by the server.",
        "properties" : {
          "providers" : {
            "$ref" : "#/components/schemas/ServerConfig_OAuthProviders"
          }
        }
      },
      "ServerConfig_OAuthProvider" : {
        "type" : "object",
        "description" : "Defines an Oauth2 authorization provider.",
        "properties" : {
          "applicationId" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the application identifier that uniquely identifies the application (the API of this server). This ID is also defined as the audience for the token to verify that the token was issued for the API dServer."
          },
          "claimClientId" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the name of the claim (in most cases \"azp\") that contains the client ID in the token."
          },
          "claimRoles" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the name of the claim (in most cases \"roles\") that contains the roles in the token."
          },
          "claimSessionId" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies the name of the claim (in most cases \"sub\") that contains the session ID in the token. This must be a unique identifier that uniquely identifies the authenticated client (or user)."
          },
          "clientId" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the [OAuth2 client identifier](https://datatracker.ietf.org/doc/html/rfc6749#section-2.2)."
          },
          "discoveryUrl" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the [discovery URL](https://datatracker.ietf.org/doc/html/rfc8414) for the OAuth2 process, where the server can find, for example, the required public signature keys for token validation."
          },
          "displayName" : {
            "type" : "string",
            "default" : "",
            "description" : "The displayed name for the provider (e.g., in the portal)."
          },
          "flow" : {
            "type" : "string",
            "default" : "clientCredentials",
            "description" : "Selects the [OAuth2 flow](https://datatracker.ietf.org/doc/html/rfc6749#section-1.2) used. Depending on the flow, different settings are necessary for the provider.",
            "enum" : [ "clientCredentials", "authorizationCodeWithPkce" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_OAuthProviderFlow"
            }
          },
          "id" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets a unique ID that uniquely identifies this provider configuration."
          },
          "logout" : {
            "$ref" : "#/components/schemas/ServerConfig_OAuthProviderLogout"
          },
          "maxTimeSkew" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The maximum time skew that may occur between the local time on the server and the local time of the issuer of the token."
          },
          "name" : {
            "type" : "string",
            "default" : "generic",
            "description" : "Selects the OAuth2 provider or \"generic\" when not available in the list.",
            "enum" : [ "generic", "azureAd", "auth0" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_OAuthProviderName"
            }
          },
          "roleNameAdmin" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the name of the role that grants administrative rights. This allows changing the default \"admin\" value to a custom role name. This must match the content of the claim defined via \"claimRoles\"."
          },
          "roleNameUser" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the name of the role that grants normal user rights. This allows changing the default \"user\" value to a custom role name. This must match the content of the claim defined via \"claimRoles\"."
          },
          "scope" : {
            "type" : "string",
            "default" : "",
            "description" : "Specifies the [scope](https://datatracker.ietf.org/doc/html/rfc6749#page-23) for the OAuth2 token. Each separated by a space."
          },
          "tenantId" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets a tenant identifier for the OAuth2 request. Not all providers require a tenant id."
          }
        }
      },
      "ServerConfig_OAuthProviderLogout" : {
        "type" : "object",
        "description" : "Specifies the settings required to perform an OAuth2 logout.",
        "properties" : {
          "url" : {
            "type" : "string",
            "default" : "",
            "description" : "Sets the URL that will be called when an OAuth2 is executed. This URL can contain the variables `{redirectUrl}` and `{clientId}`, whose values are automatically inserted by the server."
          }
        }
      },
      "ServerConfig_OAuthProviders" : {
        "type" : "object",
        "description" : "Defines the settings for an OAuth2 provider that are required to validate the provider's tokens.",
        "properties" : {
          "provider" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ServerConfig_OAuthProvider"
            }
          }
        }
      },
      "ServerConfig_ProtocolsSSL" : {
        "type" : "object",
        "description" : "Lists the protocols, that are accepted by the TLS connector.",
        "properties" : {
          "protocol" : {
            "type" : "array",
            "description" : "Selects the TLS protocols for the connector.",
            "items" : {
              "type" : "string",
              "default" : "TLSv1.2",
              "description" : "Sets the TLS protocol type for SSL connections.",
              "enum" : [ "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" ],
              "x-webpdf-codegen" : {
                "enumName" : "ServerConfig_SSLProtocol"
              }
            }
          }
        },
        "required" : [ "protocol" ]
      },
      "ServerConfig_Proxy" : {
        "type" : "object",
        "description" : "Defines proxy configuration for the connector.",
        "properties" : {
          "host" : {
            "type" : "string",
            "default" : "",
            "description" : "The proxy host's name."
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The port on which the proxy listens.\"."
          },
          "scheme" : {
            "type" : "string",
            "default" : "http",
            "description" : "The protocol scheme for the proxy (e.g. \"http\" or \"https\")."
          }
        }
      },
      "ServerConfig_SSL" : {
        "type" : "object",
        "description" : "Defines the settings for a TLS connector.",
        "properties" : {
          "ciphers" : {
            "$ref" : "#/components/schemas/ServerConfig_CiphersSSL"
          },
          "clientAuth" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether a client must provide a valid certificate before being accepted by the connector."
          },
          "configuration" : {
            "$ref" : "#/components/schemas/ServerConfig_ConnectorConfiguration"
          },
          "keystore" : {
            "$ref" : "#/components/schemas/ServerConfig_KeystoreSSL"
          },
          "maxThreads" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 150,
            "description" : "The maximum number of request processing threads created by this connector.",
            "minimum" : 1
          },
          "protocols" : {
            "$ref" : "#/components/schemas/ServerConfig_ProtocolsSSL"
          },
          "scheme" : {
            "type" : "string",
            "default" : "https",
            "description" : "The TLS connection scheme. (e.g. \"https\")"
          },
          "sessionCacheSize" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of SSL sessions to maintain in the session cache.",
            "minimum" : 0
          },
          "sessionTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 86400,
            "description" : "The time in seconds before a session is encountering its timeout.",
            "minimum" : 0
          },
          "truststore" : {
            "$ref" : "#/components/schemas/ServerConfig_Keystore"
          }
        },
        "required" : [ "keystore", "protocols" ]
      },
      "ServerConfig_Server" : {
        "type" : "object",
        "description" : "The server element defines settings for the server such as the ports, user sources or authorization settings. Some of these changes might require a server restart to take effect.",
        "properties" : {
          "apr" : {
            "$ref" : "#/components/schemas/ServerConfig_Apr"
          },
          "connectors" : {
            "$ref" : "#/components/schemas/ServerConfig_ConnectorsServer"
          },
          "health" : {
            "$ref" : "#/components/schemas/ServerConfig_Health"
          },
          "host" : {
            "$ref" : "#/components/schemas/ServerConfig_Host"
          },
          "localAuth" : {
            "$ref" : "#/components/schemas/ServerConfig_LocalAuth"
          },
          "oauth" : {
            "$ref" : "#/components/schemas/ServerConfig_OAuth"
          },
          "shutdown" : {
            "$ref" : "#/components/schemas/ServerConfig_Shutdown"
          },
          "truststore" : {
            "$ref" : "#/components/schemas/ServerConfig_TruststoreServer"
          },
          "user" : {
            "$ref" : "#/components/schemas/ServerConfig_UserStorage"
          }
        },
        "required" : [ "connectors", "host", "shutdown", "user" ]
      },
      "ServerConfig_SessionAccessToken" : {
        "type" : "object",
        "description" : "Defines the setting for access tokens provided by the server.",
        "properties" : {
          "expiration" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 3600,
            "description" : "Number of seconds, before the token expires.",
            "minimum" : 10
          }
        }
      },
      "ServerConfig_SessionLimits" : {
        "type" : "object",
        "description" : "Defines the restrictions and limits that apply when using the REST API and user sessions on the server.",
        "properties" : {
          "diskSpaceLimit" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Sets the overall global disk space (in bytes) the server may use (set to 0 to disable this limitation).",
            "minimum" : 0
          },
          "diskSpaceLimitUser" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Sets the maximum disk space (in bytes) a single user may use (set to 0 to disable this limitation).",
            "minimum" : 0
          },
          "maxFiles" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Sets the maximum number of files that may be uploaded to the server (set to 0 to disable this limitation).",
            "minimum" : 0
          },
          "maxFilesUser" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Sets the maximum number of files a single user may upload to the server (set to 0 to disable this limitation).",
            "minimum" : 0
          },
          "uploadLimit" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Sets the maximum size (in bytes) a file uploaded to the server may have (set to 0 to disable this limitation).",
            "minimum" : 0
          },
          "uploadLimitUser" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Sets the maximum size (in bytes) a file uploaded by a single user may have (set to 0 to disable this limitation).",
            "minimum" : 0
          }
        }
      },
      "ServerConfig_SessionRefreshToken" : {
        "type" : "object",
        "description" : "Defines the setting for refresh tokens provided by the server.",
        "properties" : {
          "expiration" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 43200,
            "description" : "Number of seconds, before the token expires.",
            "minimum" : 10
          }
        }
      },
      "ServerConfig_Shutdown" : {
        "type" : "object",
        "description" : "Defines the port and command for the server shutdown.",
        "properties" : {
          "command" : {
            "type" : "string",
            "default" : "SHUTDOWN",
            "description" : "The command that shall be listened for."
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 8005,
            "description" : "The port that shall listen for shutdown commands."
          },
          "restart" : {
            "type" : "boolean",
            "default" : true,
            "description" : "When set to true, the server will restart upon the shutdown's completion. Otherwise, the server will be stopped after the command."
          }
        }
      },
      "ServerConfig_TruststoreServer" : {
        "type" : "object",
        "description" : "Defines the access information for the server's truststore, which contains all third-party certificates that the server should trust. This applies to connections that the server establishes to external servers, such as HTTP SSL connections or LDAPS connections.",
        "properties" : {
          "file" : {
            "type" : "string",
            "default" : "",
            "description" : "The name (without path) of the JKS keystore file (in the \"keystore/\" folder) that is to serve as the server's truststore."
          },
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "The password required to access the truststore."
          }
        }
      },
      "ServerConfig_UserAzureAd" : {
        "type" : "object",
        "description" : "Defines an Azure Active Directory as a user source.",
        "properties" : {
          "authority" : {
            "type" : "string",
            "default" : "https://login.microsoftonline.com/organizations/",
            "description" : "Defines the URL to be used for logging in to Azure AD."
          },
          "clientId" : {
            "type" : "string",
            "default" : "",
            "description" : "Defines the client (application) ID that is stored in the Azure AD in the application registration."
          },
          "scope" : {
            "type" : "string",
            "default" : "user.read",
            "description" : "Defines the scope to be used when logging in to Anzure AD."
          }
        }
      },
      "ServerConfig_UserCertificateLdap" : {
        "type" : "object",
        "description" : "Defines the location of the user's certificate stored in the Active Directory.",
        "properties" : {
          "attributeName" : {
            "type" : "string",
            "default" : "userCertificate",
            "description" : "The name of the attribute selecting the user's certificate."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true a user certificate can be found in the Active Directory."
          }
        }
      },
      "ServerConfig_UserDb" : {
        "type" : "object",
        "description" : "Defines a relational user database as a user source.",
        "properties" : {
          "connectionName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the database user to access the database for."
          },
          "connectionPassword" : {
            "type" : "string",
            "default" : "",
            "description" : "The password of the database user to access the database with."
          },
          "connectionURL" : {
            "type" : "string",
            "default" : "",
            "description" : "The URL of the database. (e.g. \"jdbc:mysql://localhost:3306/webpdf\".)"
          },
          "digest" : {
            "type" : "string",
            "default" : "",
            "description" : "This field currently is unused."
          },
          "driverName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the driver (path of the java class) to use for database access. (e.g. \"com.mysql.jdbc.Driver\".)"
          },
          "roleNameCol" : {
            "type" : "string",
            "default" : "role_name",
            "description" : "The name of the column containing the user's role."
          },
          "userCredCol" : {
            "type" : "string",
            "default" : "user_pass",
            "description" : "The name of the column containing the user's credentials."
          },
          "userNameCol" : {
            "type" : "string",
            "default" : "user_name",
            "description" : "The name of the column containing the user's name."
          },
          "userRoleTable" : {
            "type" : "string",
            "default" : "user_roles",
            "description" : "The name of the table that defines the available user roles."
          },
          "userTable" : {
            "type" : "string",
            "default" : "users",
            "description" : "The name of the database table, that lists the server's users."
          }
        }
      },
      "ServerConfig_UserKeepAliveLdap" : {
        "type" : "object",
        "description" : "When these settings are present, the server sends a ping to the configured LDAP server to keep the connection alive.",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true the server sends a ping to the configured LDAP server to keep the connection alive."
          },
          "sendInterval" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 300,
            "description" : "The sending interval in seconds at which the ping is sent."
          }
        }
      },
      "ServerConfig_UserLdap" : {
        "type" : "object",
        "description" : "Defines an LDAP dictionary or Active Directory as a user source.",
        "properties" : {
          "certificatesTrustMode" : {
            "type" : "string",
            "default" : "validate",
            "description" : "Specifies the mode for handling the certificates presented by the LDAP server when establishing a connection.\n\n*   validate = Only certificates that can be verified as publicly valid are classified as trusted. It may be necessary to place the certificate or the issuer's certificate in the server's truststore. Self-signed certificates (e.g., from an own certificate authority) are excluded if they cannot be verified via a configured truststore.\n*   acceptAll = All certificates are classified as trusted, including expired, unverifiable, invalid or self-signed certificates.",
            "enum" : [ "validate", "acceptAll" ],
            "x-webpdf-codegen" : {
              "enumName" : "ServerConfig_UserLdapCertificatesTrustMode"
            }
          },
          "connectionName" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the user used to access the LDAP server. (e.g. \"cn=ldapuser,cn=Users,dc=example,dc=local\".)"
          },
          "connectionPassword" : {
            "type" : "string",
            "default" : "",
            "description" : "The password used to access the LDAP server."
          },
          "connectionURL" : {
            "type" : "string",
            "default" : "",
            "description" : "The URL used to connect to the LDAP server. (e.g. \"ldap://server.example.com:389/\".)"
          },
          "followReferral" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true, all LDAP requests that respond with references are followed. The same schema and credentials are used for the referred request."
          },
          "keepAlive" : {
            "$ref" : "#/components/schemas/ServerConfig_UserKeepAliveLdap"
          },
          "roleBase" : {
            "type" : "string",
            "default" : "",
            "description" : "The Base for the LDAP user's role determination. (e.g. \"CN=Users,DC=example,DC=local\".)"
          },
          "roleField" : {
            "type" : "string",
            "default" : "",
            "description" : "The field that indicates that a user is part of a group. (e.g. \"cn\".)"
          },
          "roleSearch" : {
            "type" : "string",
            "default" : "",
            "description" : "The LDAP request used to find the user's role with. (e.g. \"(member={0})\".)"
          },
          "userBase" : {
            "type" : "string",
            "default" : "",
            "description" : "The Base for the LDAP user search. (e.g. \"CN=Users,DC=example,DC=local\".)"
          },
          "userCertificates" : {
            "$ref" : "#/components/schemas/ServerConfig_UserCertificateLdap"
          },
          "userPKCS12" : {
            "$ref" : "#/components/schemas/ServerConfig_UserPKCS12"
          },
          "userSearch" : {
            "type" : "string",
            "default" : "",
            "description" : "The LDAP request used to find the user's login name with. (e.g. \"(sAMAccountName={0})\".)"
          }
        }
      },
      "ServerConfig_UserPKCS12" : {
        "type" : "object",
        "description" : "Defines the location of the user's keystore stored in the active directory.",
        "properties" : {
          "attributeName" : {
            "type" : "string",
            "default" : "userPKCS12",
            "description" : "The name of the attribute selecting the user's keystore."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When set to true a user keystore can be found in the Active Directory."
          }
        }
      },
      "ServerConfig_UserStorage" : {
        "type" : "object",
        "description" : "Defines settings for the server's user storage.",
        "properties" : {
          "azureAd" : {
            "$ref" : "#/components/schemas/ServerConfig_UserAzureAd"
          },
          "db" : {
            "$ref" : "#/components/schemas/ServerConfig_UserDb"
          },
          "ldap" : {
            "$ref" : "#/components/schemas/ServerConfig_UserLdap"
          },
          "roleAdminGroup" : {
            "type" : "string",
            "default" : "admin",
            "description" : "Sets the name of the group that grants administrative rights to users. This allows replacing the default value \"admin\" with a user-defined group name. A user must be a member of the group to be granted administrative rights."
          },
          "roleUserGroup" : {
            "type" : "string",
            "default" : "user",
            "description" : "Sets the name of the group that grants normal user rights to users. This allows replacing the default \"user\" value with a custom group name. A user must be a member of the group to be granted normal user rights."
          },
          "xml" : {
            "$ref" : "#/components/schemas/ServerConfig_UserXml"
          }
        }
      },
      "ServerConfig_UserXml" : {
        "type" : "object",
        "description" : "Defines the local XML file \"conf/users.xml\" as the user source. The users are managed locally via the portal administration area."
      },
      "Session_State" : {
        "type" : "string",
        "default" : "unknown",
        "description" : "State of the session.",
        "enum" : [ "unknown", "ok", "expired" ]
      },
      "Session_Table" : {
        "type" : "object",
        "description" : "General information about the sessions and detailed information about each session.",
        "properties" : {
          "activeSessions" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Total number of active sessions."
          },
          "expiredSessions" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Total number of expired sessions."
          },
          "sessionCount" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Total number of sessions."
          },
          "sessionDiskUsage" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Total size in bytes required by all sessions together on the hard disk in the base folder."
          },
          "sessionId" : {
            "type" : "string",
            "default" : "",
            "description" : "Session ID of the session that requested the session table."
          },
          "sessionList" : {
            "type" : "array",
            "description" : "List of all sessions and detailed information about each session.",
            "items" : {
              "$ref" : "#/components/schemas/Session_TableEntry"
            }
          },
          "timestamp" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "UTC time when the query was executed."
          },
          "unstableSessions" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Total number of sessions that have not yet been initialized or are currently expiring."
          }
        },
        "readOnly" : true
      },
      "Session_TableEntry" : {
        "type" : "object",
        "description" : "Stores detailed information about a single session entry in the session table.",
        "properties" : {
          "admin" : {
            "type" : "boolean",
            "default" : false
          },
          "fileCount" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Number of files saved in the session."
          },
          "fileSize" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Total size in bytes of all files saved in the session, excluding history entries."
          },
          "fileSizeHistory" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Total size in bytes of all history files stored in the session, except the active file entry."
          },
          "isAdmin" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Set if the user has administrator rights."
          },
          "lastAccess" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "UTC time of the last access to the session."
          },
          "providerId" : {
            "type" : "string",
            "default" : "",
            "description" : "The ID of the external credential provider used to create the session. Empty if local provider was used."
          },
          "sessionExpiration" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Time in seconds when the session will expire."
          },
          "sessionId" : {
            "type" : "string",
            "default" : "",
            "description" : "Unique id of the session."
          },
          "sessionState" : {
            "$ref" : "#/components/schemas/Session_State"
          },
          "userName" : {
            "type" : "string",
            "default" : "",
            "description" : "Username of the authenticated user or empty if unknown or it is an anonymous session."
          }
        },
        "readOnly" : true
      },
      "UserConfig_User" : {
        "type" : "object",
        "description" : "Defines the attributes of a user.",
        "properties" : {
          "password" : {
            "type" : "string",
            "default" : "",
            "description" : "The password of the user."
          },
          "roles" : {
            "type" : "string",
            "default" : "",
            "description" : "The roles of the user."
          },
          "uniqueId" : {
            "type" : "string",
            "default" : "",
            "description" : "The unique ID associated with the user."
          },
          "username" : {
            "type" : "string",
            "default" : "",
            "description" : "The name of the user."
          }
        }
      },
      "UserConfig_Users" : {
        "type" : "object",
        "description" : "Lists users of the webPDF server.",
        "properties" : {
          "user" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserConfig_User"
            }
          }
        }
      },
      "Webservice" : {
        "type" : "string",
        "default" : "converter",
        "description" : "Defines the available web services",
        "enum" : [ "signature", "pdfa", "toolbox", "converter", "urlconverter", "ocr", "barcode" ]
      },
      "Webservice_Exception" : {
        "type" : "object",
        "description" : "Defines the error object that is returned in the response to a REST web service call when an error has occurred.\n\n* The error message will summarize why the execution of the selected operation has not been possible or failed and will possibly contain further instructions.\n* This does not necessarily indicate an error of the server and possibly rather indicates, that the intended operation is not fit to be executed for the given document, using the given parameters. (e.g. accessing a password protected document without required decryption material)\n* Should the error message not be helpful, please refer to the user manual and search for the given error code there, for a more detailed description.\n* When contacting our support, please provide the hereby given error code, stacktrace and optimally the document and parameters, that lead to this error object being returned.",
        "properties" : {
          "errorCode" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The error code (use this error code to find further information in the user manual).",
            "example" : -7,
            "readOnly" : true
          },
          "errorMessage" : {
            "type" : "string",
            "default" : "",
            "description" : "The descriptive error message indicating why the operation failed or cannot be executed. This may also contain further hints to solve the problem.",
            "example" : "Unable to read pdf file content",
            "readOnly" : true
          },
          "stackTrace" : {
            "type" : "string",
            "default" : "",
            "description" : "The Java stack trace relevant to the exception analysis.",
            "example" : "... <Java stacktrace as string> ...",
            "readOnly" : true
          }
        },
        "readOnly" : true,
        "required" : [ "errorCode", "errorMessage" ],
        "x-webpdf-codegen" : {
          "isReadOnly" : "true"
        }
      },
      "Webservice_Result" : {
        "type" : "object",
        "description" : "Defines the result of the execution of a web service operation. The result contains in `code` the value zero if the execution was successful or a negative number as error code if an error occurred.\n\nIn case of an error code, `description` contains a description of the error and `stackTrace` contains the Java stack trace if an exception occurred.",
        "properties" : {
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The error code of the operation. For a successful operation, this value must be zero. If you get any other negative value, the execution has failed."
          },
          "description" : {
            "type" : "string",
            "default" : "",
            "description" : "A description of the operation´s result."
          },
          "exitCode" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The exit code of an external application, if such an application was used for the operation."
          },
          "hideException" : {
            "type" : "boolean",
            "default" : false
          },
          "stackTrace" : {
            "type" : "object",
            "description" : "The Java stack trace of an exception that occurred. (If an exception was the cause of an operation failure).",
            "properties" : {
              "cause" : {
                "type" : "object",
                "properties" : {
                  "localizedMessage" : {
                    "type" : "string",
                    "default" : ""
                  },
                  "message" : {
                    "type" : "string",
                    "default" : ""
                  },
                  "stackTrace" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "classLoaderName" : {
                          "type" : "string"
                        },
                        "className" : {
                          "type" : "string"
                        },
                        "fileName" : {
                          "type" : "string"
                        },
                        "lineNumber" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "methodName" : {
                          "type" : "string"
                        },
                        "moduleName" : {
                          "type" : "string"
                        },
                        "moduleVersion" : {
                          "type" : "string"
                        },
                        "nativeMethod" : {
                          "type" : "boolean"
                        }
                      }
                    }
                  },
                  "suppressed" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "properties" : {
                        "localizedMessage" : {
                          "type" : "string"
                        },
                        "message" : {
                          "type" : "string"
                        },
                        "stackTrace" : {
                          "type" : "array",
                          "items" : {
                            "type" : "object",
                            "properties" : {
                              "classLoaderName" : {
                                "type" : "string"
                              },
                              "className" : {
                                "type" : "string"
                              },
                              "fileName" : {
                                "type" : "string"
                              },
                              "lineNumber" : {
                                "type" : "integer",
                                "format" : "int32"
                              },
                              "methodName" : {
                                "type" : "string"
                              },
                              "moduleName" : {
                                "type" : "string"
                              },
                              "moduleVersion" : {
                                "type" : "string"
                              },
                              "nativeMethod" : {
                                "type" : "boolean"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "localizedMessage" : {
                "type" : "string",
                "default" : ""
              },
              "message" : {
                "type" : "string",
                "default" : ""
              },
              "stackTrace" : {
                "type" : "array",
                "items" : {
                  "type" : "object",
                  "properties" : {
                    "classLoaderName" : {
                      "type" : "string"
                    },
                    "className" : {
                      "type" : "string"
                    },
                    "fileName" : {
                      "type" : "string"
                    },
                    "lineNumber" : {
                      "type" : "integer",
                      "format" : "int32"
                    },
                    "methodName" : {
                      "type" : "string"
                    },
                    "moduleName" : {
                      "type" : "string"
                    },
                    "moduleVersion" : {
                      "type" : "string"
                    },
                    "nativeMethod" : {
                      "type" : "boolean"
                    }
                  }
                }
              },
              "suppressed" : {
                "type" : "array",
                "items" : {
                  "type" : "object",
                  "properties" : {
                    "localizedMessage" : {
                      "type" : "string"
                    },
                    "message" : {
                      "type" : "string"
                    },
                    "stackTrace" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "classLoaderName" : {
                            "type" : "string"
                          },
                          "className" : {
                            "type" : "string"
                          },
                          "fileName" : {
                            "type" : "string"
                          },
                          "lineNumber" : {
                            "type" : "integer",
                            "format" : "int32"
                          },
                          "methodName" : {
                            "type" : "string"
                          },
                          "moduleName" : {
                            "type" : "string"
                          },
                          "moduleVersion" : {
                            "type" : "string"
                          },
                          "nativeMethod" : {
                            "type" : "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Webservice_Status" : {
        "type" : "string",
        "default" : "unknown",
        "description" : "Defines the state in which a web service can be.\n\n- UNKNOWN = The webservice state could not be determined.\n\n- OK = The webservice is running and responsive.\n\n- DISABLED = The webservice is disabled and may not be used.\n\n- ERROR = The webservice initialization has failed, the webservice could not be started.\n\n- NOT_LICENSED = The webservice is unavailable, as it is not part of your server license.",
        "enum" : [ "unknown", "ok", "disabled", "error", "notLicensed" ]
      }
    },
    "securitySchemes" : {
      "BasicAuth" : {
        "description" : "Retrieve an access token with `POST /authentication/user/login` with authentication by username and password. User and password are passed to the login method via the HTTP header `Authorization` and the `Basic` schema. Leave empty to perform anonymous user authentication.",
        "scheme" : "basic",
        "type" : "http"
      },
      "BearerAuth" : {
        "bearerFormat" : "JWT",
        "description" : "Enter an access token acquired with `POST /authentication/user/login` or from an external OAuth2 provider. The token is passed to the server via the HTTP header `Authorization` and the `Bearer` schema for each web service endpoint.",
        "scheme" : "bearer",
        "type" : "http"
      }
    }
  }
}