From 5bf096ebb8bf56c98efb0d58af1bc18a30cbb853 Mon Sep 17 00:00:00 2001 From: mittwald-machine Date: Mon, 4 Nov 2024 18:03:20 +0000 Subject: [PATCH] chore: update development API spec --- static/specs/openapi-v2-dev.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/specs/openapi-v2-dev.json b/static/specs/openapi-v2-dev.json index 95b62d2a..7f53c3ca 100644 --- a/static/specs/openapi-v2-dev.json +++ b/static/specs/openapi-v2-dev.json @@ -1 +1 @@ -{"openapi":"3.0.0","info":{"title":"Mittwald API","description":"## Introduction\n\nThis OpenAPI spec documents the mittwald API. It follows the\n[OpenAPI 3.0.0 specification](https://spec.openapis.org/oas/v3.0.0.html).\n\n## Authentication\n\nYou will need an API token to access the API. You can obtain one by logging into the\n[mStudio](https://studio.mittwald.de) and navigating to the\n[\"API Tokens\" section in the user menu](https://studio.mittwald.de/app/profile/api-tokens).\n\nWhen making requests to the API, you can authenticate by passing your API token in the `X-Access-Token` header or as a\nbearer token.\n\n## Rate Limiting\n\nPlease note that usage of the API is rate-limited to prevent abuse. You can inspect the rate limiting for your current\nuser by observing the `X-Ratelimit-*` headers included in each response.\n\n## mStudio\n\nA main consumer of the mittwald API is the management interface for our customers, the\n[mStudio](https://studio.mittwald.de).\n\n## Contact and support\n\nFor support, please use the [mStudio support area](https://studio.mittwald.de/app/support/conversations) or drop us an\nemail at [support@mittwald.de](mailto:support@mittwald.de).\n\nFor security issues, please report to [security@mittwald.de](mailto:security@mittwald.de).\n","contact":{"name":"Mittwald CM Service GmbH & Co. KG"},"version":"2.0"},"tags":[{"name":"Project","description":"The project API allows you to manage your projects, and also any kinds of user memberships concerning these projects."},{"name":"Backup","description":"The backup API allows you to manage your project backups."},{"name":"SSH/SFTP User","description":"The SSH/SFTP User API allows you to manage your SSH/SFTP users within a project."},{"name":"Cronjob","description":"The cronjob API allows you to manage cronjobs within a project."},{"name":"App","description":"The App API allows you to manage your apps within a project, and all the system softwares that are installed as dependencies."},{"name":"Project File System","description":"The filesystem API allows you to directly access the filesystem of your project."},{"name":"Contract","description":"The contract API allows you to manage your contracts and orders"},{"name":"Database","description":"The database API allows you to manage your databases, like MySQL and Redis databases."},{"name":"Domain","description":"The domain API allows you to manage your domains, DNS records, SSL certificates and ingress resources."},{"name":"Conversation","description":"The conversation API allows you to manage your support conversations."},{"name":"Customer","description":"The customer API allows you to manage your own organizations and users."},{"name":"User","description":"The user API allows you to manage your own user and access information of other users that might be visible to you."},{"name":"Notification","description":"The notification API allows you to manage your notifications."},{"name":"File","description":"The file API allows you to manage your files, for example for conversations attachments and avatar uploads."},{"name":"Mail","description":"The mail API allows you to manage your mail accounts."},{"name":"Article","description":"The article API allows you to read article information."},{"name":"Container","description":"The container API allows you to manage your stacks, containers, volumes and registries."},{"name":"Page Insights","description":"The page insights API allows you to get page insights information."},{"name":"Relocation","description":"The relocation API allows you to manage your relocations."},{"name":"Marketplace","description":"The marketplace API allows you to manage extensions and more information regaring the marketplace."}],"components":{"callbacks":{},"examples":{},"headers":{},"links":{},"parameters":{},"requestBodies":{},"responses":{"de.mittwald.v1.app.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.customer.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.customer.FailedPreconditionError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}}},"description":"Failed Precondition"},"de.mittwald.v1.dns.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.domain.SuccessResponse":{"content":{"application/json":{"schema":{"properties":{"isAsync":{"type":"boolean"},"transactionId":{"type":"string"}},"type":"object"}}},"description":"OK"},"de.mittwald.v1.domain.TransferabilityResponse":{"content":{"application/json":{"schema":{"properties":{"reasons":{"properties":{"domainAgeTooSmall":{"type":"boolean"},"domainDoesNotExist":{"type":"boolean"},"transferLock":{"type":"boolean"},"wrongAuthCode":{"type":"boolean"}},"required":["domainDoesNotExist","wrongAuthCode","transferLock","domainAgeTooSmall"],"type":"object"},"transferable":{"type":"boolean"}},"required":["transferable","reasons"],"type":"object"}}},"description":"OK"},"de.mittwald.v1.invoice.EmptyResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Empty response"},"de.mittwald.v1.mail.EmptyResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Empty response"},"de.mittwald.v1.order.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.order.NotFoundError":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.ssl.ValidationError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateError"}}},"description":"An unexpected Error that occurred while handling the request"},"de.mittwald.v1.signup.InternalServerError":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["InternalServerError"],"type":"string"}},"type":"object"}]}}},"description":"Something in our infrastructure went wrong\n"},"de.mittwald.v1.signup.NoValidAccessTokenError":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["NoAccessTokenProvided"],"type":"string"}},"type":"object"}]}}},"description":"No valid access token was provided"},"de.mittwald.v1.signup.RemovingLastOwnerNotAllowedError":{"content":{"application/json":{"schema":{"properties":{"info":{"description":"A json object, given further information about the error","example":{"customerId":"xyz"},"type":"object"},"message":{"description":"more information about the error","example":"The user cannot be removed because it is the last owner of the customer with the id 'xyz'","type":"string"},"name":{"example":"RemovingLastOwnerNotAllowedError","type":"string"}},"required":["name","message"],"type":"object"}}},"description":"Deleting the last owner of a customer is not allowed"},"de.mittwald.v1.signup.SecondFactorRequiredError":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["SecondFactorRequired"],"type":"string"}},"required":["name"],"type":"object"}]}}},"description":"An additional second factor code is necessary to process the request."},"de.mittwald.v1.commons.DefaultError":{"description":"An unexpected Error that occurred while handling the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}}}},"de.mittwald.v1.commons.NotFoundError":{"description":"The requested resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}}}},"de.mittwald.v1.commons.RateLimitError":{"description":"Your request ran into a rate limit. You have to wait until rate limit expires\n","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"too many requests"},"type":{"type":"string","example":"RateLimitError"}}}}}},"de.mittwald.v1.commons.ValidationError":{"description":"Validation Error caused by invalid input data in the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}}}},"schemas":{"de.mittwald.v1.app.Action":{"description":"An Action is a string that describes a runtime concerning action which can be executed on an AppInstallation or an App can be capable of.","enum":["start","stop","restart"],"type":"string"},"de.mittwald.v1.app.ActionCapabilities":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.Action"},"type":"array"},"de.mittwald.v1.app.App":{"description":"An App is to be understood as a manifest for AppInstallations. E.g. 'WordPress' only exists inside our ecosystem, because there is an App -Manifest for it.","properties":{"actionCapabilities":{"$ref":"#/components/schemas/de.mittwald.v1.app.ActionCapabilities"},"id":{"type":"string"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"required":["id","name","tags"],"type":"object"},"de.mittwald.v1.app.AppInstallationStatus":{"description":"AppInstallationStatus describes the overall runtime status of an AppInstallation.","properties":{"lastExitCode":{"type":"number"},"logFileLocation":{"type":"string"},"state":{"enum":["running","stopped","exited"],"type":"string"},"uptimeSeconds":{"type":"number"}},"required":["state","logFileLocation"],"type":"object"},"de.mittwald.v1.app.AppJobImage":{"properties":{"imageTemplate":{"type":"string"}},"required":["imageTemplate"],"type":"object"},"de.mittwald.v1.app.AppJobImages":{"properties":{"reconfigureImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"},"setupImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"},"uninstallImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"},"upgradeImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"}},"required":["setupImage","upgradeImage","uninstallImage","reconfigureImage"],"type":"object"},"de.mittwald.v1.app.AppUpdatePolicy":{"description":"AppUpdatePolicy describes which updates should be applied automatically by our systems.","enum":["none","patchLevel","all"],"type":"string"},"de.mittwald.v1.app.AppInstallation":{"description":"An AppInstallation is a concrete manifestation of an App in a specific AppVersion.","properties":{"appId":{"format":"uuid","type":"string"},"appVersion":{"$ref":"#/components/schemas/de.mittwald.v1.app.VersionStatus"},"customDocumentRoot":{"type":"string"},"description":{"type":"string"},"disabled":{"default":false,"type":"boolean"},"id":{"format":"uuid","type":"string"},"installationPath":{"type":"string"},"linkedDatabases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.LinkedDatabase"},"type":"array"},"processes":{"items":{"format":"uuid","type":"string"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"screenshotId":{"format":"uuid","type":"string"},"screenshotRef":{"type":"string"},"shortId":{"example":"a-XXXXXX","type":"string"},"systemSoftware":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.InstalledSystemSoftware"},"type":"array"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"required":["id","appId","shortId","appVersion","description","installationPath","disabled"],"type":"object"},"de.mittwald.v1.app.AppInstallationInternal":{"description":"An AppInstallation is a concrete manifestation of an App in a specific AppVersion.","properties":{"appId":{"format":"uuid","type":"string"},"appVersion":{"$ref":"#/components/schemas/de.mittwald.v1.app.VersionStatus"},"customDocumentRoot":{"type":"string"},"description":{"type":"string"},"disabled":{"default":false,"type":"boolean"},"id":{"format":"uuid","type":"string"},"installationPath":{"type":"string"},"linkedDatabases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.LinkedDatabase"},"type":"array"},"processRunningSince":{"format":"date-time","type":"string"},"processes":{"items":{"format":"uuid","type":"string"},"type":"array"},"projectEnvironment":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"screenshotId":{"format":"uuid","type":"string"},"screenshotRef":{"type":"string"},"shortId":{"example":"a-XXXXXX","type":"string"},"systemSoftware":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.InstalledSystemSoftware"},"type":"array"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"required":["id","appId","shortId","appVersion","description","installationPath","disabled"],"type":"object"},"de.mittwald.v1.app.AppInstallationLifecycle":{"description":"The AppInstallationLifecycle can be used to express a specific point in the AppInstallation Lifecycle, e.g. while installing a new AppInstallation.","enum":["installation","update","reconfigure"],"type":"string"},"de.mittwald.v1.app.AppVersion":{"description":"An AppVersion is an officially supported version of an App, containing the necessary and recommended configuration und dependencies.","properties":{"appId":{"format":"uuid","type":"string"},"breakingNote":{"$ref":"#/components/schemas/de.mittwald.v1.app.BreakingNote"},"databases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.DatabaseDependency"},"type":"array"},"docRoot":{"type":"string"},"docRootUserEditable":{"type":"boolean"},"externalVersion":{"type":"string"},"id":{"format":"uuid","type":"string"},"internalVersion":{"type":"string"},"recommended":{"type":"boolean"},"requestHandler":{"$ref":"#/components/schemas/de.mittwald.v1.app.RequestHandlerRequirement"},"systemSoftwareDependencies":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareDependency"},"type":"array","uniqueItems":true},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInput"},"type":"array","uniqueItems":true}},"required":["id","appId","externalVersion","internalVersion","docRoot","docRootUserEditable"],"type":"object"},"de.mittwald.v1.app.BreakingNote":{"description":"A BreakingNote is a hint that something serious has changed in the AppVersion containing it, so an automatic update is not possible.","properties":{"faqLink":{"format":"uri","type":"string"}},"required":["faqLink"],"type":"object"},"de.mittwald.v1.app.DatabaseDependency":{"description":"A DatabaseDependency is a generic description of need for a database, used by AppVersions.","properties":{"description":{"type":"string"},"kind":{"enum":["mysql"],"type":"string"},"parameters":{"additionalProperties":{"type":"string"},"type":"object"},"version":{"format":"uuid","type":"string"}},"required":["version","description","kind"],"type":"object"},"de.mittwald.v1.app.Error":{"properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.app.InstalledSystemSoftware":{"description":"InstalledSystemSoftware describes the currently configured and installed SystemSoftwareVersion of a SystemSoftware besides the desired SystemSoftwareUpdatePolicy inside an AppInstallation.","properties":{"systemSoftwareId":{"format":"uuid","type":"string"},"systemSoftwareVersion":{"$ref":"#/components/schemas/de.mittwald.v1.app.VersionStatus"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareUpdatePolicy"}},"required":["systemSoftwareId","updatePolicy","systemSoftwareVersion"],"type":"object"},"de.mittwald.v1.app.LinkedDatabase":{"description":"LinkedDatabase is a reference to a concrete Database and DatabaseUsers.","properties":{"databaseId":{"format":"uuid","type":"string"},"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"},"kind":{"enum":["mysql","redis"],"type":"string"},"purpose":{"enum":["primary","cache","custom"],"type":"string"}},"required":["databaseId","purpose","kind"],"type":"object"},"de.mittwald.v1.app.RequestHandlerRequirement":{"description":"RequestHandlerRequirement describes the necessary properties to internally resolve the request handler or process to start.","properties":{"exampleValues":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"},"name":{"type":"string"},"namespace":{"type":"string"},"parametersTemplate":{"type":"string"}},"required":["name","namespace","parametersTemplate"],"type":"object"},"de.mittwald.v1.app.SavedUserInput":{"description":"A SavedUserInput is an entered value for a desired UserInput of an AppVersion or SystemSoftwareVersion.","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.app.SystemSoftwareDependency":{"description":"A SystemSoftwareDependency is a description of a need for a specific SystemSoftware in a semver versionRange.","properties":{"systemSoftwareId":{"format":"uuid","type":"string"},"versionRange":{"type":"string"}},"required":["systemSoftwareId","versionRange"],"type":"object"},"de.mittwald.v1.app.SystemSoftwareUpdatePolicy":{"description":"SystemSoftwareUpdatePolicy describes which updates should be applied automatically by our systems.","enum":["none","inheritedFromApp","patchLevel","all"],"type":"string"},"de.mittwald.v1.app.SystemSoftware":{"description":"A SystemSoftware is a software that can be installed for an AppInstallation but mostly is not itself externally reachable and/or deliverable.","properties":{"id":{"type":"string"},"meta":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"required":["id","name","tags"],"type":"object"},"de.mittwald.v1.app.SystemSoftwareVersion":{"description":"A SystemSoftwareVersion is an officially supported version of a SystemSoftware, containing the necessary and recommended configuration und dependencies.","properties":{"expiryDate":{"format":"date-time","type":"string"},"externalVersion":{"type":"string"},"fee":{"$ref":"#/components/schemas/de.mittwald.v1.fee.FeeStrategy"},"id":{"format":"uuid","type":"string"},"internalVersion":{"type":"string"},"recommended":{"type":"boolean"},"systemSoftwareDependencies":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareDependency"},"type":"array"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInput"},"type":"array"}},"required":["id","internalVersion","externalVersion"],"type":"object"},"de.mittwald.v1.app.UserInput":{"description":"A UserInput is a description of an information which cannot be determined or estimated by mittwald, but has to be given by the person who is requesting an AppInstallation or SystemSoftware.","properties":{"dataSource":{"description":"Optional field to tell the frontend, which data to put into the select.","type":"string"},"dataType":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInputDataType"},"defaultValue":{"type":"string"},"format":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInputFormat"},"lifecycleConstraint":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallationLifecycle"},"name":{"type":"string"},"positionMeta":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInputPositionMeta"},"required":{"type":"boolean"},"validationSchema":{"description":"JSON Schema formatted (https://json-schema.org/).","type":"string"}},"required":["name","dataType","validationSchema","lifecycleConstraint","required"],"type":"object"},"de.mittwald.v1.app.UserInputDataType":{"description":"UserInputDataType is an enum, describing the possible data types of a UserInput.","enum":["text","number","boolean","select"],"type":"string"},"de.mittwald.v1.app.UserInputFormat":{"description":"UserInputFormat is an enum, describing the possible data formats of a UserInput, the given values can be validated against.","enum":["email","password","url","uri"],"type":"string"},"de.mittwald.v1.app.UserInputPositionMeta":{"description":"UserInputPositionMeta is a utility information, helping to position the UserInput properly on the frontend.","properties":{"index":{"type":"number"},"section":{"type":"string"},"step":{"type":"string"}},"type":"object"},"de.mittwald.v1.app.VersionStatus":{"description":"VersionStatus describes the current and desired version of something like the AppVersion of an AppInstallation. If diverging, an internal process is going to assert, the current value will be aligned.","properties":{"current":{"type":"string"},"desired":{"type":"string"}},"required":["desired"],"type":"object"},"de.mittwald.v1.backup.BackupTemplate":{"properties":{"expirationTime":{"format":"date-time","type":"string"},"ignoredSources":{"$ref":"#/components/schemas/de.mittwald.v1.backup.IgnoredSources"}},"required":["expirationTime"],"type":"object"},"de.mittwald.v1.backup.DatabaseReference":{"properties":{"kind":{"type":"string"},"name":{"type":"string"}},"required":["kind","name"],"type":"object"},"de.mittwald.v1.backup.IgnoredSources":{"properties":{"databases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.backup.DatabaseReference"},"type":"array"},"files":{"type":"boolean"}},"required":["files"],"type":"object"},"de.mittwald.v1.backup.ProjectBackup":{"properties":{"createdAt":{"format":"date-time","type":"string"},"deletable":{"type":"boolean"},"description":{"example":"I'm a ProjectBackup","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"export":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupExport"},"id":{"format":"uuid","type":"string"},"parentId":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"},"status":{"example":"Completed","type":"string"}},"required":["id","projectId","status","deletable"],"type":"object"},"de.mittwald.v1.backup.ProjectBackupExport":{"properties":{"downloadURL":{"format":"url","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"format":{"example":"tar","type":"string"},"phase":{"enum":["","Pending","Exporting","Failed","Completed","Expired"],"example":"Completed","type":"string"},"withPassword":{"type":"boolean"}},"required":["format","withPassword"],"type":"object"},"de.mittwald.v1.backup.ProjectBackupSchedule":{"properties":{"createdAt":{"format":"date-time","type":"string"},"description":{"description":"Description of this ProjectBackupSchedule.","example":"I'm a ProjectBackupSchedule","type":"string"},"id":{"description":"ID of this ProjectBackupSchedule.","format":"uuid","type":"string"},"isSystemBackup":{"description":"True if this ProjectBackupSchedule was created and is managed by mittwald.","type":"boolean"},"projectId":{"description":"ID of the Project this ProjectBackupSchedule belongs to.","format":"uuid","type":"string"},"schedule":{"description":"Execution schedule in crontab notation.","example":"5 4 * * *","type":"string"},"ttl":{"description":"TTL of the ProjectBackupSchedule as time string.","example":"7d","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","projectId","schedule","isSystemBackup"],"type":"object"},"de.mittwald.v1.container.CreateRegistry":{"properties":{"credentials":{"$ref":"#/components/schemas/de.mittwald.v1.container.SetRegistryCredentials"},"description":{"example":"DockerHub","type":"string"},"uri":{"example":"index.docker.io","type":"string"}},"required":["uri","description"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfig":{"properties":{"command":{"description":"Command of the container image.","items":{"example":"mysqld","type":"string"},"type":"array"},"entrypoint":{"description":"Entrypoint of the container image.","items":{"example":"docker-entrypoint.sh","type":"string"},"type":"array"},"env":{"description":"List of environment variables the container image has.","items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfigEnv"},"type":"array"},"exposedPorts":{"description":"List of exposed ports the container image has.","items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfigExposedPort"},"type":"array"},"hasAiGeneratedData":{"description":"Whether the image config has ai generated data.","example":true,"type":"boolean"},"isUserRoot":{"description":"Whether the container user is root.","example":false,"type":"boolean"},"overwritingUser":{"description":"If set, this user will be used to run the container.","example":1000,"type":"integer"},"user":{"description":"The user the container image is running with.","example":"mysql","type":"string"},"volumes":{"description":"List of volumes the container image has.","items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfigVolume"},"type":"array"}},"required":["user","isUserRoot","hasAiGeneratedData"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfigEnv":{"properties":{"description":{"description":"The description of the env key.","example":"The mysql user password.","type":"string"},"isAiGenerated":{"description":"Whether the env has been ai generated.","example":true,"type":"boolean"},"isSensitive":{"description":"Whether the env key is a sensitive field, e.g. password fields.","example":true,"type":"boolean"},"key":{"description":"The env key.","example":"MYSQL_PASSWORD","type":"string"},"value":{"description":"The env default value.","example":"my_password","type":"string"}},"required":["key","isAiGenerated"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfigExposedPort":{"properties":{"description":{"description":"The description of the exposed port.","example":"The mysql connection port.","type":"string"},"isAiGenerated":{"description":"Whether the port has been ai generated.","example":true,"type":"boolean"},"port":{"description":"The exposed port.","example":"3306/tcp","type":"string"}},"required":["port","isAiGenerated"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfigVolume":{"properties":{"description":{"description":"The description of the volume path.","example":"The mysql database files.","type":"string"},"isAiGenerated":{"description":"Whether the volume has been ai generated.","example":true,"type":"boolean"},"volume":{"description":"The volume path.","example":"/var/lib/mysql","type":"string"}},"required":["volume","isAiGenerated"],"type":"object"},"de.mittwald.v1.container.Registry":{"properties":{"credentials":{"$ref":"#/components/schemas/de.mittwald.v1.container.RegistryCredentials"},"description":{"example":"DockerHub","type":"string"},"id":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"},"uri":{"example":"index.docker.io","type":"string"}},"required":["id","projectId","uri","description"],"type":"object"},"de.mittwald.v1.container.RegistryCredentials":{"properties":{"username":{"description":"Your registry username.","example":"username","type":"string"},"valid":{"description":"Status of the credentials.","example":true,"type":"boolean"}},"required":["username","valid"],"type":"object"},"de.mittwald.v1.container.ServiceDeclareRequest":{"properties":{"command":{"description":"Defaults to image config on empty","example":["mysqld"],"items":{"type":"string"},"type":"array"},"description":{"example":"MySQL DB","type":"string"},"entrypoint":{"description":"Defaults to image config on empty","example":["docker-entrypoint.sh"],"items":{"type":"string"},"type":"array"},"envs":{"additionalProperties":{"type":"string"},"example":{"MYSQL_DATABASE":"my_db","MYSQL_PASSWORD":"my_password","MYSQL_ROOT_PASSWORD":"my_root_password","MYSQL_USER":"my_user"},"type":"object"},"image":{"example":"mysql","type":"string"},"ports":{"example":["3306:3306/tcp"],"items":{"type":"string"},"type":"array"},"volumes":{"example":["data:/var/lib/mysql"],"items":{"type":"string"},"type":"array"}},"required":["description","image","ports"],"type":"object"},"de.mittwald.v1.container.ServiceRequest":{"properties":{"command":{"description":"Defaults to image config on empty","example":["mysqld"],"items":{"type":"string"},"type":"array"},"description":{"example":"MySQL DB","type":"string"},"entrypoint":{"description":"Defaults to image config on empty","example":["docker-entrypoint.sh"],"items":{"type":"string"},"type":"array"},"envs":{"additionalProperties":{"type":"string"},"example":{"MYSQL_DATABASE":"my_db","MYSQL_PASSWORD":"my_password","MYSQL_ROOT_PASSWORD":"my_root_password","MYSQL_USER":"my_user"},"type":"object"},"image":{"example":"mysql","type":"string"},"ports":{"example":["3306:3306/tcp"],"items":{"type":"string"},"type":"array"},"volumes":{"example":["data:/var/lib/mysql"],"items":{"type":"string"},"type":"array"}},"type":"object"},"de.mittwald.v1.container.ServiceResponse":{"properties":{"deployedState":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceState"},"description":{"example":"MySQL DB","type":"string"},"id":{"format":"uuid","type":"string"},"pendingState":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceState"},"projectId":{"format":"uuid","type":"string"},"serviceName":{"example":"mysql-db","type":"string"},"stackId":{"format":"uuid","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceStatus"}},"required":["id","stackId","projectId","description","serviceName","pendingState","deployedState","status"],"type":"object"},"de.mittwald.v1.container.ServiceState":{"properties":{"command":{"items":{"type":"string"},"type":"array"},"entrypoint":{"items":{"type":"string"},"type":"array"},"envs":{"additionalProperties":{"type":"string"},"type":"object"},"image":{"type":"string"},"ports":{"items":{"type":"string"},"type":"array"},"volumes":{"items":{"type":"string"},"type":"array"}},"required":["image"],"type":"object"},"de.mittwald.v1.container.ServiceStatus":{"enum":["running","stopped","restarting","error","creating","starting"],"type":"string"},"de.mittwald.v1.container.SetRegistryCredentials":{"properties":{"password":{"description":"Your registry password or access token.","example":"password","type":"string"},"username":{"description":"Your registry username, use 'oauth2accesstoken' for access token authentication.","example":"username","type":"string"}},"required":["username","password"],"type":"object"},"de.mittwald.v1.container.StackResponse":{"properties":{"description":{"type":"string"},"disabled":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"prefix":{"description":"Prefix for all service-names in this stack.","type":"string"},"projectId":{"format":"uuid","type":"string"},"services":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceResponse"},"type":"array"},"volumes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeResponse"},"type":"array"}},"required":["id","projectId","description","disabled","prefix"],"type":"object"},"de.mittwald.v1.container.UpdateRegistry":{"properties":{"credentials":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.container.SetRegistryCredentials"}],"nullable":true},"description":{"example":"DockerHub","type":"string"},"uri":{"example":"index.docker.io","type":"string"}},"type":"object"},"de.mittwald.v1.container.VolumeDeclareRequest":{"properties":{"name":{"example":"mysql-volume","type":"string"}},"required":["name"],"type":"object"},"de.mittwald.v1.container.VolumeRequest":{"properties":{"name":{"example":"mysql-volume","type":"string"}},"type":"object"},"de.mittwald.v1.container.VolumeResponse":{"properties":{"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"orphaned":{"description":"Whether the Volume is attached to a Stack.","type":"boolean"},"stackId":{"format":"uuid","type":"string"},"storageUsageInBytes":{"type":"integer"},"storageUsageInBytesSetAt":{"format":"date-time","type":"string"}},"required":["id","stackId","name","orphaned","storageUsageInBytes","storageUsageInBytesSetAt"],"type":"object"},"de.mittwald.v1.contract.AggregateReference":{"properties":{"aggregate":{"example":"project","type":"string"},"domain":{"example":"project","type":"string"},"id":{"example":"a1b8f0e9-904f-4716-a1c0-81ccf5342a56","type":"string"}},"required":["id","domain","aggregate"],"type":"object"},"de.mittwald.v1.contract.Article":{"properties":{"amount":{"example":1,"minimum":1,"type":"integer"},"articleTemplateId":{"example":"a1b8f0e9-904f-4716-a1c0-81ccf5342a56","type":"string"},"description":{"example":"Musterbeschreibung","type":"string"},"id":{"example":"a1b8f0e9-904f-4716-a1c0-81ccf5342a56","type":"string"},"name":{"example":"Musterartikel","type":"string"},"unitPrice":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Price"}},"required":["id","name","articleTemplateId","amount","unitPrice"],"type":"object"},"de.mittwald.v1.contract.Contact":{"properties":{"address":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Address"},"company":{"example":"Musterfirma","type":"string"},"emailAddress":{"format":"email","type":"string"},"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"},"phoneNumbers":{"items":{"example":"+49 123 4567890","type":"string"},"type":"array"},"salutation":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"},"title":{"example":"Dr.","type":"string"},"useFormalTerm":{"type":"boolean"}},"required":["address","salutation"],"type":"object"},"de.mittwald.v1.contract.ContractItem":{"properties":{"activationDate":{"format":"date-time","type":"string"},"aggregateReference":{"$ref":"#/components/schemas/de.mittwald.v1.contract.AggregateReference"},"articles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Article"},"type":"array"},"contractPeriod":{"example":1,"minimum":0,"type":"number"},"description":{"example":"Space-Server: \"Mein Space-Server\"","type":"string"},"freeTrialDays":{"example":10,"type":"number"},"groupByProjectId":{"format":"uuid","type":"string"},"invoiceStop":{"description":"If this attribute is set, the contract item will currently only be invoiced until this date.","format":"date-time","type":"string"},"invoicingPeriod":{"example":1,"type":"number"},"isActivated":{"type":"boolean"},"isBaseItem":{"type":"boolean"},"isInFreeTrial":{"type":"boolean"},"isInclusive":{"type":"boolean"},"itemId":{"format":"uuid","type":"string"},"nextPossibleDowngradeDate":{"description":"If this attribute is not set, termination is not allowed.","format":"date-time","type":"string"},"nextPossibleTerminationDate":{"description":"If this attribute is not set, a tariff change is not allowed.","format":"date-time","type":"string"},"nextPossibleUpgradeDate":{"description":"If this attribute is not set, a tariff change is not allowed.","format":"date-time","type":"string"},"orderDate":{"format":"date-time","type":"string"},"orderId":{"format":"uuid","type":"string"},"replacedByItem":{"format":"uuid","type":"string"},"tariffChange":{"$ref":"#/components/schemas/de.mittwald.v1.contract.TariffChange"},"termination":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Termination"},"totalPrice":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Price"}},"required":["itemId","isActivated","contractPeriod","articles","totalPrice","description","isBaseItem"],"type":"object"},"de.mittwald.v1.contract.Contract":{"properties":{"additionalItems":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"},"type":"array"},"baseItem":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"},"contractId":{"format":"uuid","type":"string"},"contractNumber":{"example":"V1234567","type":"string"},"customerId":{"example":"3a201faa-5160-47e0-a758-325ba794b543","type":"string"},"termination":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Termination"}},"required":["contractId","contractNumber","customerId","baseItem"],"type":"object"},"de.mittwald.v1.contract.Error":{"properties":{"message":{"example":"Something went wrong","type":"string"},"type":{"example":"InternalServerError","type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.contract.Price":{"properties":{"currency":{"enum":["EUR"],"type":"string"},"value":{"description":"The value of the price in the smallest currency unit (e.g. cents)","example":100,"type":"integer"}},"required":["value","currency"],"type":"object"},"de.mittwald.v1.contract.TariffChange":{"properties":{"newArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Article"},"type":"array"},"scheduledAtDate":{"format":"date-time","type":"string"},"scheduledByUserId":{"type":"string"},"targetDate":{"format":"date-time","type":"string"}},"required":["scheduledAtDate","targetDate","newArticles"],"type":"object"},"de.mittwald.v1.contract.Termination":{"properties":{"reason":{"example":"Not needed anymore","type":"string"},"scheduledAtDate":{"format":"date-time","type":"string"},"scheduledByUserId":{"type":"string"},"targetDate":{"format":"date-time","type":"string"}},"required":["scheduledAtDate","targetDate"],"type":"object"},"de.mittwald.v1.conversation.AggregateReference":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},"de.mittwald.v1.conversation.CategoryReferenceType":{"items":{"enum":["unspecified","server","project","organisation","extensionInstance"],"type":"string"},"type":"array"},"de.mittwald.v1.conversation.Category":{"properties":{"categoryId":{"format":"uuid","type":"string"},"name":{"type":"string"},"referenceType":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.CategoryReferenceType"}},"required":["categoryId","name","referenceType"],"type":"object"},"de.mittwald.v1.conversation.ConversationMembers":{"items":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},{"properties":{"active":{"type":"boolean"}},"required":["active"],"type":"object"}]},"type":"array"},"de.mittwald.v1.conversation.ConversationPreferences":{"properties":{"customerId":{"format":"uuid","type":"string"},"preferredUsers":{"properties":{"categoryUserPairs":{"additionalProperties":{"format":"uuid","type":"string"},"type":"object"},"fallback":{"format":"uuid","type":"string"}},"type":"object"}},"required":["customerId","preferredUsers"],"type":"object"},"de.mittwald.v1.conversation.Conversation":{"properties":{"category":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Category"},"conversationId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"lastMessage":{"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"}},"required":["createdAt"],"type":"object"},"lastMessageAt":{"format":"date-time","type":"string"},"lastMessageBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"mainUser":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"relatedTo":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"relations":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"type":"array"},"sharedWith":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Status"},"title":{"type":"string"},"visibility":{"enum":["shared","private"],"type":"string"}},"required":["conversationId","shortId","title","createdAt","status","visibility","mainUser"],"type":"object"},"de.mittwald.v1.conversation.GetConversationIdResponse":{"properties":{"conversationId":{"format":"uuid","type":"string"},"shortId":{"type":"string"}},"required":["shortId","conversationId"],"type":"object"},"de.mittwald.v1.conversation.Department":{"enum":["development","mail","accounting","cloudHosting","customerService","generic"],"type":"string"},"de.mittwald.v1.conversation.DepartmentWithStatus":{"properties":{"department":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Department"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Status"}},"required":["department","status"],"type":"object"},"de.mittwald.v1.conversation.Error":{"properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.conversation.RequestedFile":{"properties":{"id":{"format":"uuid","type":"string"},"status":{"enum":["requested"],"type":"string"}},"required":["id","status"],"type":"object"},"de.mittwald.v1.conversation.File":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.conversation.RequestedFile"},{"$ref":"#/components/schemas/de.mittwald.v1.conversation.UploadedFile"}]},"de.mittwald.v1.conversation.UploadedFile":{"properties":{"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"status":{"enum":["uploaded"],"type":"string"},"type":{"type":"string"}},"required":["id","status","name","type"],"type":"object"},"de.mittwald.v1.conversation.Message":{"properties":{"conversationId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"files":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.File"},"type":"array"},"internal":{"type":"boolean"},"messageContent":{"type":"string"},"messageId":{"format":"uuid","type":"string"},"type":{"enum":["MESSAGE"],"type":"string"}},"required":["messageId","conversationId","createdAt","type"],"type":"object"},"de.mittwald.v1.conversation.ShareableAggregateReference":{"oneOf":[{"properties":{"aggregate":{"enum":["user"],"type":"string"},"domain":{"enum":["user"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["customer"],"type":"string"},"domain":{"enum":["customer"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["project"],"type":"string"},"domain":{"enum":["project"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["appinstallation"],"type":"string"},"domain":{"enum":["app"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["placementgroup"],"type":"string"},"domain":{"enum":["project"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["extensionInstance"],"type":"string"},"domain":{"enum":["extension"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"}]},"de.mittwald.v1.conversation.Status":{"enum":["open","closed","answered","inProgress","waiting"],"type":"string"},"de.mittwald.v1.conversation.StatusUpdate":{"properties":{"conversationId":{"type":"string"},"createdAt":{"type":"string"},"internal":{"type":"boolean"},"messageContent":{"type":"string"},"meta":{"properties":{"user":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"}},"type":"object"},"type":{"enum":["STATUS_UPDATE"],"type":"string"}},"required":["conversationId","messageContent","createdAt","type"],"type":"object"},"de.mittwald.v1.conversation.User":{"properties":{"active":{"type":"boolean"},"avatarRefId":{"type":"string"},"clearName":{"type":"string"},"department":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Department"},"userId":{"type":"string"}},"required":["userId"],"type":"object"},"de.mittwald.v1.strace.Data":{"properties":{"actualUrl":{"example":"https://www.mittwald.de/~b","type":"string"},"dbQueries":{"items":{"properties":{"query":{"description":"The whole DB query.","example":"SELECT * FROM my_table;","type":"string"},"stats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"warnLevel":{"description":"Alerts when the time, syscall count or occurrence count of this group are abnormal.","enum":["NO","WARN","SEVERE"],"type":"string"}},"required":["query","stats","warnLevel"],"type":"object"},"type":"array"},"dbStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"fileOps":{"items":{"properties":{"filename":{"example":"my_file.php","type":"string"},"filepath":{"example":"/html/my-project","type":"string"},"stats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"warnLevel":{"description":"Alerts when the time, syscall count or occurrence count of this group are abnormal.","enum":["NO","WARN","SEVERE"],"type":"string"}},"required":["stats","warnLevel"],"type":"object"},"type":"array"},"fileOpsStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"miscStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"networkingOps":{"items":{"properties":{"connectionType":{"enum":["UNKNOWN","PRIVATE","EXTERNAL"],"type":"string"},"description":{"description":"A short description of the network connection to provide additional context.","type":"string"},"ip":{"description":"IP address to which a connection was established.","type":"string"},"port":{"description":"Port to which a connection was established.","type":"integer"},"stats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"warnLevel":{"description":"Alerts when the time, syscall count or occurrence count of this group are abnormal.","enum":["NO","WARN","SEVERE"],"type":"string"}},"required":["ip","port","description","connectionType","stats","warnLevel"],"type":"object"},"type":"array"},"networkingStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"slowdownFactor":{"description":"Shows how much slower the websites TTFB was when it got traced (1.0 = 100% = same TTFB).","example":1.5,"type":"number"},"ttfbMs":{"description":"Time to first byte in milliseconds while tracing the website.","example":1532,"type":"integer"}},"required":["actualUrl","ttfbMs","slowdownFactor","fileOpsStats","networkingStats","dbStats","miscStats","fileOps","networkingOps","dbQueries"],"type":"object"},"de.mittwald.v1.strace.Error":{"properties":{"errorMessage":{"example":"wrong PHP version","type":"string"}},"required":["errorMessage"],"type":"object"},"de.mittwald.v1.strace.Statistics":{"properties":{"kernelMs":{"description":"Elapsed kernel space time in milliseconds.","example":1.2345,"type":"number"},"occurrences":{"description":"The number of times this group occurred.","example":25,"type":"integer"},"syscallCount":{"description":"Syscall count.","example":4321,"type":"integer"},"userspaceMs":{"description":"Elapsed user space time in milliseconds.","example":1.2345,"type":"number"}},"required":["kernelMs","userspaceMs","syscallCount","occurrences"],"type":"object"},"de.mittwald.v1.cronjob.CronjobCommand":{"properties":{"interpreter":{"example":"/usr/bin/bash","type":"string"},"parameters":{"example":"--debug","type":"string"},"path":{"example":"/html/my-wordpress/script.sh","type":"string"}},"required":["interpreter","path"],"type":"object"},"de.mittwald.v1.cronjob.Cronjob":{"properties":{"active":{"type":"boolean"},"appId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"example":"i am a cronjob","type":"string"},"destination":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobCommand"}]},"email":{"format":"email","type":"string"},"id":{"format":"uuid","type":"string"},"interval":{"example":"*/5 * * * *","type":"string"},"latestExecution":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobExecution"},"nextExecutionTime":{"format":"date-time","type":"string"},"projectId":{"format":"uuid","type":"string"},"shortId":{"example":"cron-bd26li","type":"string"},"timeout":{"maximum":86400,"minimum":1,"type":"number"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","appId","shortId","interval","active","createdAt","updatedAt","description","destination","timeout"],"type":"object"},"de.mittwald.v1.cronjob.CronjobExecution":{"properties":{"abortedBy":{"properties":{"id":{"format":"uuid","type":"string"}},"type":"object"},"durationInMilliseconds":{"example":12374,"format":"int64","type":"integer"},"end":{"format":"date-time","type":"string"},"executionEnd":{"deprecated":true,"format":"date-time","type":"string"},"executionStart":{"deprecated":true,"format":"date-time","type":"string"},"id":{"example":"cron-bd26li-28027320","type":"string"},"logPath":{"example":"/var/log/cronjobs/cron-bd26li-28027320.log","type":"string"},"start":{"format":"date-time","type":"string"},"status":{"enum":["Complete","Failed","AbortedBySystem","Pending","Running","AbortedByUser","TimedOut"],"type":"string"},"successful":{"type":"boolean"},"triggeredBy":{"properties":{"id":{"format":"uuid","type":"string"}},"type":"object"}},"required":["id","status","successful"],"type":"object"},"de.mittwald.v1.cronjob.CronjobRequest":{"properties":{"active":{"type":"boolean"},"appId":{"format":"uuid","type":"string"},"description":{"example":"i am a cronjob","type":"string"},"destination":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobCommand"}]},"email":{"format":"email","type":"string"},"interval":{"example":"*/5 * * * *","type":"string"},"timeout":{"maximum":86400,"minimum":1,"type":"number"}},"required":["appId","description","destination","interval","active","timeout"],"type":"object"},"de.mittwald.v1.cronjob.CronjobUrl":{"properties":{"url":{"example":"https://mydomain.com","type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.customer.Contact":{"properties":{"address":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Address"},"company":{"type":"string"},"emailAddress":{"format":"email","type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneNumbers":{"items":{"type":"string"},"type":"array"},"salutation":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"},"title":{"type":"string"},"useFormalTerm":{"type":"boolean"}},"required":["address","salutation"],"type":"object"},"de.mittwald.v1.customer.CustomerMeta":{"properties":{"avatarRefId":{"type":"string"},"customerId":{"type":"string"},"name":{"type":"string"}},"required":["customerId","name"],"type":"object"},"de.mittwald.v1.customer.Role":{"description":"the role within a customer","enum":["owner","member","accountant"],"type":"string"},"de.mittwald.v1.customer.Customer":{"properties":{"activeSuspension":{"properties":{"createdAt":{"format":"date-time","type":"string"}},"required":["createdAt"],"type":"object"},"avatarRefId":{"type":"string"},"categoryId":{"type":"string"},"creationDate":{"format":"date-time","type":"string"},"customerId":{"type":"string"},"customerNumber":{"type":"string"},"executingUserRoles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Role"},"type":"array"},"isBanned":{"type":"boolean"},"isInDefaultOfPayment":{"type":"boolean"},"memberCount":{"minimum":0,"type":"integer"},"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Contact"},"projectCount":{"minimum":0,"type":"integer"},"vatId":{"type":"string"},"vatIdValidationState":{"enum":["valid","invalid","pending","unspecified"],"type":"string"}},"required":["customerId","customerNumber","name","creationDate","memberCount","projectCount"],"type":"object"},"de.mittwald.v1.database.CreateMySqlDatabase":{"properties":{"characterSettings":{"$ref":"#/components/schemas/de.mittwald.v1.database.characterSettings"},"description":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"version":{"type":"string"}},"required":["projectId","version","description"],"type":"object"},"de.mittwald.v1.database.CreateMySqlUser":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"databaseId":{"format":"uuid","type":"string"},"description":{"type":"string"},"externalAccess":{"type":"boolean"},"password":{"type":"string"}},"required":["databaseId","password","description","accessLevel"],"type":"object"},"de.mittwald.v1.database.CreateMySqlUserWithDatabase":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"externalAccess":{"type":"boolean"},"password":{"type":"string"}},"required":["password","accessLevel"],"type":"object"},"de.mittwald.v1.database.DatabaseStatus":{"enum":["pending","ready","migrating","importing","error"],"type":"string"},"de.mittwald.v1.database.MySqlCharacterSettings":{"properties":{"collations":{"example":["utf8_general_ci","utf8_bin","utf8_unicode_ci"],"items":{"type":"string"},"type":"array"},"name":{"example":"utf8","type":"string"},"versionId":{"example":"mysql57","type":"string"}},"required":["name","collations","versionId"],"type":"object"},"de.mittwald.v1.database.characterSettings":{"properties":{"characterSet":{"type":"string"},"collation":{"type":"string"}},"required":["characterSet","collation"],"type":"object"},"de.mittwald.v1.database.MySqlDatabase":{"properties":{"characterSettings":{"$ref":"#/components/schemas/de.mittwald.v1.database.characterSettings"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"finalizers":{"items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true},"hostname":{"type":"string"},"id":{"format":"uuid","type":"string"},"isReady":{"type":"boolean"},"isShared":{"type":"boolean"},"name":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.database.DatabaseStatus"},"statusSetAt":{"format":"date-time","type":"string"},"storageUsageInBytes":{"type":"integer"},"storageUsageInBytesSetAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"version":{"type":"string"}},"required":["id","createdAt","updatedAt","projectId","name","description","version","characterSettings","hostname","isShared","isReady","storageUsageInBytes","storageUsageInBytesSetAt","status","statusSetAt"],"type":"object"},"de.mittwald.v1.database.PhpMyAdminURL":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.database.MySqlUser":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"createdAt":{"format":"date-time","type":"string"},"databaseId":{"format":"uuid","type":"string"},"description":{"type":"string"},"disabled":{"type":"boolean"},"externalAccess":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"mainUser":{"type":"boolean"},"name":{"type":"string"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.database.DatabaseStatus"},"statusSetAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","createdAt","updatedAt","databaseId","name","passwordUpdatedAt","mainUser","disabled","accessLevel","externalAccess","status","statusSetAt"],"type":"object"},"de.mittwald.v1.database.MySqlVersion":{"properties":{"disabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"string"}},"required":["id","name","number","disabled"],"type":"object"},"de.mittwald.v1.database.RedisDatabaseConfiguration":{"description":"The configuration for a RedisDatabase.","properties":{"additionalFlags":{"description":"Additional flags passed to the database.","items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true},"maxMemory":{"description":"The database's maximum memory. This may be a number, optionally suffixed by one of the IEC binary suffixes `Ki`, `Mi` or `Gi`.","example":"64Mi","type":"string"},"maxMemoryPolicy":{"description":"The database's key eviction policy. See the [Redis documentation on key evictions](https://redis.io/docs/reference/eviction/) for more information.","example":"allkeys-lru","type":"string"},"persistent":{"description":"Persistent status of the database.","type":"boolean"}},"type":"object"},"de.mittwald.v1.database.RedisDatabase":{"example":{"configuration":{"additionalFlags":["--tcp-keepalive","300"],"maxMemory":"16Mi","maxMemoryPolicy":"allkeys-lru","persistent":"true"},"createdAt":"2023-03-28T13:15:00.000Z","description":"My first RedisDatabase!","finalizers":["app:appinstallation:28471edf-d266-4d79-8ca8-169e330746db"],"hostname":"redis-xxxxxx.pg-example.db.example.com","id":"fcfe9aea-84d5-46eb-ac6f-a0ccffa908b1","name":"redis_xxxxxx","port":6379,"projectId":"9f2bddf1-dea6-4441-b4fe-a22ff39caff8","status":"error","statusSetAt":"2024-03-05T9:26:32.000Z","storageUsageInBytes":10485760,"storageUsageInBytesSetAt":"2024-03-05T9:26:32.000Z","updatedAt":"2023-03-29T15:50:10.000Z","version":"7.0"},"properties":{"configuration":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabaseConfiguration"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"finalizers":{"items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true},"hostname":{"type":"string"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"port":{"type":"integer"},"projectId":{"format":"uuid","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.database.DatabaseStatus"},"statusSetAt":{"format":"date-time","type":"string"},"storageUsageInBytes":{"type":"integer"},"storageUsageInBytesSetAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"version":{"type":"string"}},"required":["id","projectId","version","hostname","port","description","createdAt","updatedAt","name","storageUsageInBytes","storageUsageInBytesSetAt","status","statusSetAt"],"type":"object"},"de.mittwald.v1.database.RedisVersion":{"properties":{"disabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"string"}},"required":["id","name","number","disabled"],"type":"object"},"de.mittwald.v1.dns.RecordCNAME":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAMEComponent"}]},"de.mittwald.v1.dns.RecordCNAMEComponent":{"properties":{"fqdn":{"format":"idn-dnsname","type":"string"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","fqdn"],"type":"object"},"de.mittwald.v1.dns.RecordCombinedA":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedACustom"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedAManaged"}]},"de.mittwald.v1.dns.CombinedAManagedAAAARecord":{"format":"ipv6","type":"string"},"de.mittwald.v1.dns.CombinedAManagedARecord":{"format":"ipv4","type":"string"},"de.mittwald.v1.dns.CombinedACustom":{"properties":{"a":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedAManagedARecord"},"maxItems":10,"type":"array"},"aaaa":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedAManagedAAAARecord"},"maxItems":10,"type":"array"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","a","aaaa"],"type":"object"},"de.mittwald.v1.dns.CombinedAManaged":{"properties":{"managedBy":{"oneOf":[{"properties":{"ingressId":{"format":"uuid","type":"string"}},"required":["ingressId"],"type":"object"}]}},"required":["managedBy"],"type":"object"},"de.mittwald.v1.dns.RecordMX":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXManaged"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXCustom"}]},"de.mittwald.v1.dns.RecordMXCustom":{"properties":{"records":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXRecord"},"maxItems":10,"minItems":1,"type":"array","uniqueItems":true},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","records"],"type":"object"},"de.mittwald.v1.dns.RecordMXManaged":{"properties":{"managed":{"type":"boolean"}},"required":["managed"],"type":"object"},"de.mittwald.v1.dns.RecordMXRecord":{"properties":{"fqdn":{"format":"idn-dnsname","maxLength":50,"minLength":1,"type":"string"},"priority":{"maximum":100,"minimum":0,"type":"integer"}},"required":["priority","fqdn"],"type":"object"},"de.mittwald.v1.dns.RecordSettings":{"properties":{"ttl":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.TtlSeconds"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.TtlAuto"}]}},"type":"object"},"de.mittwald.v1.dns.RecordSRV":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVComponent"}]},"de.mittwald.v1.dns.RecordSRVComponent":{"additionalProperties":false,"properties":{"records":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVRecord"},"minItems":1,"type":"array"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","records"],"type":"object"},"de.mittwald.v1.dns.RecordSRVRecord":{"additionalProperties":false,"properties":{"fqdn":{"format":"idn-dnsname","maxLength":50,"minLength":1,"type":"string"},"port":{"maximum":65535,"minimum":0,"type":"integer"},"priority":{"maximum":65535,"minimum":0,"type":"integer"},"weight":{"maximum":65535,"minimum":0,"type":"integer"}},"required":["port","fqdn"],"type":"object"},"de.mittwald.v1.dns.RecordTXT":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXTComponent"}]},"de.mittwald.v1.dns.RecordTXTComponent":{"additionalProperties":false,"properties":{"entries":{"items":{"maxLength":2048,"type":"string"},"maxItems":20,"type":"array"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","entries"],"type":"object"},"de.mittwald.v1.dns.RecordUnset":{"additionalProperties":false,"properties":{},"type":"object"},"de.mittwald.v1.dns.TtlAuto":{"properties":{"auto":{"description":"this will always be true","type":"boolean"}},"required":["auto"],"type":"object"},"de.mittwald.v1.dns.TtlSeconds":{"properties":{"seconds":{"maximum":86400,"minimum":300,"type":"integer"}},"required":["seconds"],"type":"object"},"de.mittwald.v1.dns.Zone":{"properties":{"domain":{"type":"string"},"id":{"format":"uuid","type":"string"},"recordSet":{"properties":{"cname":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAME"},"combinedARecords":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCombinedA"},"mx":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMX"},"srv":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRV"},"txt":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXT"}},"required":["combinedARecords","cname","mx","txt","srv"],"type":"object"}},"required":["id","domain","recordSet"],"type":"object"},"de.mittwald.v1.domain.AuthCode":{"properties":{"expires":{"format":"date-time","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"de.mittwald.v1.domain.AuthCode2":{"properties":{"expires":{"format":"date-time","type":"string"}},"required":["expires"],"type":"object"},"de.mittwald.v1.domain.CreateDomainHandleData":{"properties":{"adminC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"type":"array"},"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"type":"array"}},"required":["ownerC"],"type":"object"},"de.mittwald.v1.domain.Domain":{"properties":{"authCode":{"$ref":"#/components/schemas/de.mittwald.v1.domain.AuthCode"},"authCode2":{"$ref":"#/components/schemas/de.mittwald.v1.domain.AuthCode2"},"connected":{"type":"boolean"},"contactHash":{"type":"string"},"deleted":{"type":"boolean"},"domain":{"format":"naked-domain","type":"string"},"domainId":{"format":"uuid","type":"string"},"handles":{"properties":{"adminC":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleReadable"},"ownerC":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleReadable"}},"required":["ownerC"],"type":"object"},"nameservers":{"items":{"format":"idn-hostname","type":"string"},"type":"array","uniqueItems":true},"processes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Process"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"transferInAuthCode":{"type":"string"},"usesDefaultNameserver":{"type":"boolean"}},"required":["domainId","domain","projectId","deleted","nameservers","handles","connected","usesDefaultNameserver","hasAuthCode"],"type":"object"},"de.mittwald.v1.domain.HandleData":{"properties":{"handleFields":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"type":"array"},"handleRef":{"type":"string"}},"type":"object"},"de.mittwald.v1.domain.HandleField":{"properties":{"name":{"type":"string"},"value":{"pattern":"^[0-9a-zA-ZÀ-ÖØ-öø-ÿ /&()+,.@_-]+$","type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.domain.HandleReadable":{"properties":{"current":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleData"},"desired":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleData"}},"required":["current"],"type":"object"},"de.mittwald.v1.domain.Process":{"properties":{"error":{"type":"string"},"lastUpdate":{"format":"date-time","type":"string"},"processType":{"$ref":"#/components/schemas/de.mittwald.v1.domain.ProcessType"},"state":{"$ref":"#/components/schemas/de.mittwald.v1.domain.ProcessState"},"status":{"type":"string"},"statusCode":{"type":"string"},"transactionId":{"type":"string"}},"required":["transactionId","processType","state","lastUpdate"],"type":"object"},"de.mittwald.v1.domain.ProcessState":{"enum":["UNSPECIFIED","REQUESTED","FAILED"],"type":"string"},"de.mittwald.v1.domain.ProcessType":{"enum":["UNSPECIFIED","REGISTER","TRANSFER","DELETE","TRANSIT","RESTORE","UPDATE","TRANSFER_OUT","OWNER_CHANGE","DECLARE_REQUESTED"],"type":"string"},"de.mittwald.v1.domain.Registrar":{"enum":["INTERNETX","DENIC","HEXONET"],"type":"string"},"de.mittwald.v1.domain.SuggestedDomains":{"properties":{"domains":{"items":{"type":"string"},"type":"array"}},"required":["domains"],"type":"object"},"de.mittwald.v1.domain.TopLevel":{"properties":{"irtp":{"type":"boolean"},"rgpDays":{"minimum":0,"type":"integer"},"tld":{"type":"string"},"transferAuthCodeRequired":{"deprecated":true,"type":"boolean"},"transferAuthentication":{"$ref":"#/components/schemas/de.mittwald.v1.domain.TransferAuthentication"}},"required":["tld","rgpDays","irtp","transferAuthCodeRequired","transferAuthentication"],"type":"object"},"de.mittwald.v1.domain.TransferAuthentication":{"enum":["unspecified","code","email","push"],"type":"string"},"de.mittwald.v1.marketplace.AggregateReference":{"properties":{"aggregate":{"enum":["project","customer"],"type":"string"},"domain":{"enum":["project","customer"],"type":"string"},"id":{"type":"string"}},"required":["id","domain","aggregate"],"type":"object"},"de.mittwald.v1.marketplace.AggregateReferenceFilter":{"properties":{"aggregate":{"enum":["project","customer"],"type":"string"},"domain":{"enum":["project","customer"],"type":"string"},"id":{"type":"string"}},"type":"object"},"de.mittwald.v1.marketplace.Contributor":{"properties":{"customerId":{"format":"uuid","type":"string"},"email":{"type":"string"},"id":{"format":"uuid","type":"string"},"logoRefId":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"state":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ContributorState"},"url":{"type":"string"}},"required":["id","customerId","state","name"],"type":"object"},"de.mittwald.v1.marketplace.ContributorState":{"enum":["enabled","disabled"],"type":"string"},"de.mittwald.v1.marketplace.Extension":{"properties":{"blocked":{"deprecated":true,"type":"boolean"},"context":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"},"contributorId":{"format":"uuid","type":"string"},"deprecation":{"description":"The Extension is deprecated by the contributor and will expire at the given date.","properties":{"deprecatedAt":{"format":"date-time","type":"string"}},"required":["deprecatedAt"],"type":"object"},"description":{"type":"string"},"detailedDescriptions":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DetailedDescriptions"},"disabled":{"type":"boolean"},"frontendComponents":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExternalComponent"},"type":"array"},"frontendFragments":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.FrontendFragment"},"type":"object"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"state":{"deprecated":true,"description":"deprecated","enum":["enabled","blocked","disabled"],"type":"string"},"support":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.SupportMeta"},"tags":{"items":{"type":"string"},"minItems":0,"type":"array"}},"required":["id","contributorId","support","state","name","description","tags","context","scopes","disabled","blocked"],"type":"object"},"de.mittwald.v1.marketplace.BackendComponent":{"properties":{"url":{"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.marketplace.BackendComponents":{"properties":{"extensionAddedToContext":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"},"extensionInstanceRemovedFromContext":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"},"extensionInstanceSecretRotated":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"},"extensionInstanceUpdated":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"}},"type":"object"},"de.mittwald.v1.marketplace.Context":{"enum":["project","customer"],"type":"string"},"de.mittwald.v1.marketplace.DescriptionFormats":{"description":"Language specific descriptions in various formats.","properties":{"markdown":{"minLength":1,"type":"string"},"plain":{"minLength":1,"type":"string"}},"required":["markdown"],"type":"object"},"de.mittwald.v1.marketplace.DetailedDescriptions":{"description":"Supported languages. Format ISO-639-1.","properties":{"de":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DescriptionFormats"},"en":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DescriptionFormats"}},"required":["de"],"type":"object"},"de.mittwald.v1.marketplace.ExtensionInstance":{"properties":{"aggregateReference":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"format":"uuid","type":"string"}},"required":["id","domain","aggregate"],"type":"object"},"consentedScopes":{"items":{"type":"string"},"type":"array"},"createdAt":{"format":"date-time","type":"string"},"disabled":{"default":false,"type":"boolean"},"extensionId":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"pendingInstallation":{"default":false,"type":"boolean"},"pendingRemoval":{"default":false,"type":"boolean"}},"required":["id","extensionId","disabled","pendingInstallation","pendingRemoval","consentedScopes","aggregateReference"],"type":"object"},"de.mittwald.v1.marketplace.ExternalComponent":{"properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"],"type":"object"},"de.mittwald.v1.marketplace.FrontendFragment":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.UrlFrontendFragment"}]},"de.mittwald.v1.marketplace.OptionalExtension":{"properties":{"backendComponents":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponents"},"blocked":{"deprecated":true,"type":"boolean"},"context":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"},"contributorId":{"format":"uuid","type":"string"},"description":{"type":"string"},"detailedDescriptions":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DetailedDescriptions"},"disabled":{"type":"boolean"},"frontendComponents":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExternalComponent"},"type":"array"},"frontendFragments":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.FrontendFragment"},"type":"object"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"state":{"description":"deprecated","enum":["enabled","blocked","disabled"],"type":"string"},"support":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.SupportMeta"},"tags":{"items":{"type":"string"},"minItems":0,"type":"array"}},"required":["id","contributorId","name"],"type":"object"},"de.mittwald.v1.marketplace.PublicKey":{"properties":{"algorithm":{"example":"Ed25519","type":"string"},"key":{"description":"base64 encoded public key","format":"byte","type":"string"},"serial":{"format":"uuid","type":"string"}},"required":["serial","algorithm","key"],"type":"object"},"de.mittwald.v1.marketplace.SupportMeta":{"properties":{"email":{"example":"a.lovelace@example.com","type":"string"},"phone":{"type":"string"}},"type":"object"},"de.mittwald.v1.marketplace.UrlFrontendFragment":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.marketplace.WebhookKind":{"enum":["extension-added-to-context","extension-instance-updated","extension-instance-secret-rotated","extension-instance-removed-from-context"],"type":"string"},"de.mittwald.v1.fee.FeeStrategy":{"description":"A strategy for fees of resources.","oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.fee.OneTimePaymentFeeStrategy"},{"$ref":"#/components/schemas/de.mittwald.v1.fee.PeriodBasedFeeStrategy"}]},"de.mittwald.v1.fee.OneTimePaymentFeeStrategy":{"description":"A strategy for fees that occur once.","properties":{"price":{"description":"The one-time price in Euro Cents.","type":"number"}},"required":["price"],"type":"object"},"de.mittwald.v1.fee.PeriodBasedFeeStrategy":{"description":"A strategy for fees that occur periodically","properties":{"periods":{"items":{"properties":{"feeValidFrom":{"format":"date-time","type":"string"},"feeValidUntil":{"format":"date-time","type":"string"},"monthlyPrice":{"description":"The monthly price in Euro Cents.","type":"number"}},"required":["monthlyPrice"],"type":"object"},"type":"array"}},"required":["periods"],"type":"object"},"de.mittwald.v1.fee.ResourceFee":{"description":"A Fee of a Resource","properties":{"feeStrategy":{"$ref":"#/components/schemas/de.mittwald.v1.fee.FeeStrategy"},"id":{"description":"The id of the given Resource","example":"1241a1de-b633-4e6e-9aa5-7e878ccd6864","type":"string"}},"required":["id"],"type":"object"},"de.mittwald.v1.file.FileMeta":{"properties":{"friendlyURL":{"deprecated":true,"description":"deprecated, see friendlyUrl","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6/me.jpeg","type":"string"},"friendlyUrl":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6/me.jpeg","type":"string"},"id":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"},"mimeType":{"example":"image/jpeg","type":"string"},"name":{"example":"me.jpeg","type":"string"},"sizeInBytes":{"example":300,"type":"integer"},"type":{"deprecated":true,"description":"deprecated, see mimeType","example":"image/jpeg","type":"string"}},"required":["id","name","type","friendlyURL","friendlyUrl","sizeInBytes","mimeType"],"type":"object"},"de.mittwald.v1.file.FileType":{"properties":{"extensions":{"items":{"example":[".jpe",".jpeg",".jpg"],"type":"string"},"type":"array"},"mimeType":{"example":"image/jpeg","type":"string"}},"required":["mimeType","extensions"],"type":"object"},"de.mittwald.v1.file.FileUploadRules":{"properties":{"extensions":{"items":{"example":[".png",".jpeg",".jpg"],"type":"string"},"type":"array"},"fileTypes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileType"},"type":"array"},"maxSizeInBytes":{"example":1000000,"type":"integer"},"maxSizeInKB":{"deprecated":true,"description":"deprecated, see maxSizeInBytes","example":1000,"type":"integer"},"maxSizeInKb":{"deprecated":true,"description":"deprecated, see maxSizeInBytes","example":1000,"type":"integer"},"mimeTypes":{"items":{"example":["image/png","image/jpeg"],"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["maxSizeInBytes","maxSizeInKB","maxSizeInKb","mimeTypes","fileTypes","extensions"],"type":"object"},"de.mittwald.v1.ingress.Ingress":{"properties":{"dnsValidationErrors":{"description":"A list of errors that occurred while validating the ingress's dns before requesting a certificate.","items":{"enum":["ERROR_UNSPECIFIED","ERROR_QUAD_A","ERROR_NO_A_RECORD","ERROR_ACME_CERTIFICATE_REQUEST_DEADLINE_EXCEEDED"],"type":"string"},"type":"array"},"hostname":{"format":"idn-hostname","type":"string"},"id":{"format":"uuid","type":"string"},"ips":{"properties":{"v4":{"items":{"format":"ipv4","type":"string"},"type":"array"}},"required":["v4"],"type":"object"},"isDefault":{"description":"Whether this ingress is the default ingress or not. A default ingress is automatically created, it cannot be deleted. There can be only one default ingress per project.","type":"boolean"},"isDomain":{"type":"boolean"},"isEnabled":{"type":"boolean"},"ownership":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ownership"},"paths":{"description":"A list of paths. The default path `/` is always present and cannot be removed.","items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"tls":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsAcme"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsCertificate"}]}},"required":["id","hostname","projectId","isDefault","tls","paths","isEnabled","ips","dnsValidationErrors","ownership"],"type":"object"},"de.mittwald.v1.ingress.IngressDeprecated":{"properties":{"dnsValidationErrors":{"description":"A list of errors that occurred while validating the ingress's dns before requesting a certificate.","items":{"enum":["ERROR_UNSPECIFIED","ERROR_QUAD_A","ERROR_NO_A_RECORD","ERROR_ACME_CERTIFICATE_REQUEST_DEADLINE_EXCEEDED"],"type":"string"},"type":"array"},"hostname":{"format":"idn-hostname","type":"string"},"id":{"format":"uuid","type":"string"},"ips":{"properties":{"v4":{"items":{"format":"ipv4","type":"string"},"type":"array"}},"required":["v4"],"type":"object"},"isDefault":{"description":"Whether this ingress is the default ingress or not. A default ingress is automatically created, it cannot be deleted. There can be only one default ingress per project.","type":"boolean"},"isDomain":{"type":"boolean"},"isEnabled":{"type":"boolean"},"ownership":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ownership"},"paths":{"description":"A list of paths. The default path `/` is always present and cannot be removed.","items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"tls":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsAcmeDeprecated"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsCertificate"}]}},"required":["id","hostname","projectId","isDefault","tls","paths","isEnabled","ips","dnsValidationErrors","ownership"],"type":"object"},"de.mittwald.v1.ingress.Ownership":{"properties":{"txtRecord":{"type":"string"},"verified":{"description":"Whether the domain ownership is verified or not.","type":"boolean"}},"required":["verified"],"type":"object"},"de.mittwald.v1.ingress.Path":{"properties":{"path":{"type":"string"},"target":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetDirectory"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetInstallation"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetUseDefaultPage"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetContainer"}]}},"required":["path","target"],"type":"object"},"de.mittwald.v1.ingress.TargetContainer":{"properties":{"container":{"properties":{"id":{"format":"uuid","type":"string"},"portProtocol":{"description":"docker-compose port specification in format port/protocol (e.g. 8080/TCP)","format":"docker-network-port","type":"string"}},"required":["id","portProtocol"],"type":"object"}},"required":["container"],"type":"object"},"de.mittwald.v1.ingress.TargetDirectory":{"properties":{"directory":{"type":"string"}},"required":["directory"],"type":"object"},"de.mittwald.v1.ingress.TargetInstallation":{"properties":{"installationId":{"format":"uuid","type":"string"}},"required":["installationId"],"type":"object"},"de.mittwald.v1.ingress.TargetUrl":{"properties":{"url":{"format":"uri","type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.ingress.TargetUseDefaultPage":{"properties":{"useDefaultPage":{"type":"boolean"}},"required":["useDefaultPage"],"type":"object"},"de.mittwald.v1.ingress.TlsAcme":{"additionalProperties":false,"properties":{"acme":{"description":"Has to be `true`, as ssl cannot be deactivated.","type":"boolean"},"isCreated":{"type":"boolean"},"requestDeadline":{"format":"date-time","type":"string"}},"required":["acme","isCreated"],"type":"object"},"de.mittwald.v1.ingress.TlsAcmeDeprecated":{"additionalProperties":false,"properties":{"acme":{"type":"boolean"}},"required":["acme"],"type":"object"},"de.mittwald.v1.ingress.TlsCertificate":{"additionalProperties":false,"properties":{"certificateId":{"format":"uuid","type":"string"}},"required":["certificateId"],"type":"object"},"de.mittwald.v1.invoice.BankingInformation":{"properties":{"accountHolder":{"example":"Ada Lovelace","type":"string"},"bic":{"example":"DEUTDEDB123","type":"string"},"iban":{"example":"DE12345678901234567890","type":"string"}},"required":["iban","accountHolder"],"type":"object"},"de.mittwald.v1.invoice.Cancellation":{"properties":{"cancellationId":{"format":"uuid","type":"string"},"cancelledAt":{"format":"date-time","type":"string"},"correctionNumber":{"example":"RG1234567","type":"string"},"pdfId":{"format":"uuid","type":"string"},"reason":{"example":"Kulanz","type":"string"}},"required":["pdfId","correctionNumber","cancelledAt","cancellationId"],"type":"object"},"de.mittwald.v1.invoice.ContractInvoiceDefinition":{"properties":{"contractId":{"format":"uuid","type":"string"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.ContractItemInvoiceDefinition"},"type":"array"}},"required":["contractId","items"],"type":"object"},"de.mittwald.v1.invoice.ContractItemInvoiceDefinition":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"isDue":{"type":"boolean"},"serviceDate":{"format":"date-time","type":"string"},"servicePeriod":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.DatePeriod"},"vatRate":{"example":19,"type":"integer"}},"required":["contractItemId","vatRate","servicePeriod"],"type":"object"},"de.mittwald.v1.invoice.CorrectionDefinition":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"creditPeriod":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.DatePeriod"}},"required":["contractItemId","creditPeriod"],"type":"object"},"de.mittwald.v1.invoice.DatePeriod":{"properties":{"end":{"format":"date-time","type":"string"},"start":{"format":"date-time","type":"string"}},"required":["start","end"],"type":"object"},"de.mittwald.v1.invoice.Error":{"properties":{"message":{"example":"Whoops, something went wrong.","type":"string"},"type":{"example":"InternalServerError","type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.invoice.InvoiceItem":{"properties":{"additionalDescription":{"example":"Short-ID: \"s-123456\"","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"description":{"example":"Space-Server: \"Mein Space-Server\"","type":"string"},"itemCancelledOrCorrectedBy":{"items":{"properties":{"sourceInvoiceId":{"format":"uuid","type":"string"},"sourceInvoiceItemId":{"format":"uuid","type":"string"}},"type":"object"},"type":"array"},"itemId":{"format":"uuid","type":"string"},"price":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Price"},"reference":{"properties":{"sourceInvoiceId":{"format":"uuid","type":"string"},"sourceInvoiceItemId":{"format":"uuid","type":"string"}},"required":["sourceInvoiceId","sourceInvoiceItemId"],"type":"object"},"serviceDate":{"format":"date-time","type":"string"},"servicePeriod":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.DatePeriod"},"vatRate":{"example":19,"type":"number"}},"required":["itemId","price","vatRate","contractItemId","description"],"type":"object"},"de.mittwald.v1.invoice.Invoice":{"properties":{"amountPaid":{"example":500,"type":"number"},"cancellation":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Cancellation"},"cancellationOf":{"description":"The ID of the invoice that this invoice cancels.","format":"uuid","type":"string"},"currency":{"example":"EUR","type":"string"},"customerId":{"example":"e0a3b0e0-0e0e-0e0e-0e0e-0e0e0e0e0e0e","type":"string"},"date":{"format":"date-time","type":"string"},"groups":{"items":{"properties":{"contractId":{"format":"uuid","type":"string"},"description":{"example":"Space-Server: \"Mein Space-Server\"","type":"string"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceItem"},"type":"array"}},"required":["items"],"type":"object"},"type":"array"},"id":{"format":"uuid","type":"string"},"invoiceNumber":{"example":"RG1234567","type":"string"},"invoiceType":{"enum":["REGULAR","REISSUE","CORRECTION","CANCELLATION"],"type":"string"},"paymentSettings":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettings"},"pdfId":{"format":"uuid","type":"string"},"recipient":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Recipient"},"status":{"enum":["NEW","CONFIRMED","DENIED","PAID","PARTIALLY_PAID","OVERPAID"],"type":"string"},"totalGross":{"example":595,"type":"number"},"totalNet":{"example":500,"type":"number"},"vatId":{"example":"DE123456789","type":"string"}},"required":["id","customerId","invoiceNumber","date","pdfId","groups","status","amountPaid","recipient","totalNet","totalGross","currency","invoiceType"],"type":"object"},"de.mittwald.v1.invoice.InvoiceSettings":{"properties":{"additionalEmailRecipients":{"items":{"format":"email","type":"string"},"type":"array"},"debitPaymentStopUntil":{"format":"date-time","type":"string"},"id":{"example":"5f9b9b9b-9b9b-9b9b-9b9b-9b9b9b9b9b9b","type":"string"},"invoicePeriod":{"example":1,"type":"integer"},"lastBankingInformation":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.BankingInformation"},"paymentSettings":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettings"},"printedInvoices":{"type":"boolean"},"recipient":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Recipient"},"recipientSameAsOwner":{"type":"boolean"},"status":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceSettingsStatus"},"type":"array"},"targetDay":{"example":15,"type":"integer"}},"required":["id"],"type":"object"},"de.mittwald.v1.invoice.InvoiceSettingsStatus":{"properties":{"message":{"example":"Unfortunately, we were unable to debit your account. Please update your account details.","type":"string"},"severity":{"enum":["success","info","warning","error"],"type":"string"},"type":{"enum":["returnDebitNote","returnDebitNoteWaitingForPayment","debtWrittenOff"],"type":"string"}},"required":["severity","type","message"],"type":"object"},"de.mittwald.v1.invoice.PaymentSettingsDebit":{"properties":{"accountHolder":{"example":"Ada Lovelace","type":"string"},"bic":{"description":"Optional. Required for payments outside of the European Union.","example":"DEUTDEDB123","type":"string"},"iban":{"example":"DE12345678901234567890","type":"string"},"method":{"enum":["debit"],"type":"string"}},"required":["method","iban","accountHolder"],"type":"object"},"de.mittwald.v1.invoice.PaymentSettingsInvoice":{"properties":{"method":{"enum":["invoice"],"type":"string"}},"required":["method"],"type":"object"},"de.mittwald.v1.invoice.PaymentSettings":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettingsDebit"},{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettingsInvoice"}]},"de.mittwald.v1.invoice.Price":{"properties":{"currency":{"enum":["EUR"],"type":"string"},"value":{"example":1000,"type":"integer"}},"required":["value","currency"],"type":"object"},"de.mittwald.v1.invoice.Recipient":{"properties":{"address":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Address"},"company":{"example":"Mittwald CM Service GmbH & Co. KG","type":"string"},"emailAddress":{"format":"email","type":"string"},"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"},"phoneNumbers":{"items":{"example":"+49 123 4567890","type":"string"},"type":"array"},"salutation":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"},"title":{"example":"Dr.","type":"string"},"useFormalTerm":{"type":"boolean"}},"required":["address","salutation"],"type":"object"},"de.mittwald.v1.mail.CreateMailAddress":{"properties":{"address":{"format":"idn-email","type":"string"},"isCatchAll":{"type":"boolean"},"mailbox":{"properties":{"enableSpamProtection":{"type":"boolean"},"password":{"type":"string"},"quotaInBytes":{"description":"2 GB","example":2147483648,"minimum":-1,"type":"number"}},"required":["password","quotaInBytes","enableSpamProtection"],"type":"object"}},"required":["address","mailbox","isCatchAll"],"type":"object"},"de.mittwald.v1.mail.Deliverybox":{"properties":{"authenticationEnabled":{"type":"boolean"},"description":{"type":"string"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"projectId":{"type":"string"},"sendingEnabled":{"type":"boolean"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","name","projectId","description","authenticationEnabled","sendingEnabled","passwordUpdatedAt","updatedAt"],"type":"object"},"de.mittwald.v1.mail.Error":{"properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.mail.CreateForwardAddress":{"properties":{"address":{"format":"idn-email","type":"string"},"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["address","forwardAddresses"],"type":"object"},"de.mittwald.v1.mail.MailAddress":{"properties":{"address":{"format":"idn-email","type":"string"},"autoResponder":{"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time","type":"string"},"message":{"type":"string"},"startsAt":{"format":"date-time","type":"string"}},"required":["active"],"type":"object"},"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"isArchived":{"type":"boolean"},"isCatchAll":{"type":"boolean"},"mailbox":{"properties":{"name":{"type":"string"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"sendingEnabled":{"type":"boolean"},"spamProtection":{"properties":{"active":{"type":"boolean"},"autoDeleteSpam":{"type":"boolean"},"folder":{"enum":["spam","inbox"],"type":"string"},"relocationMinSpamScore":{"maximum":10,"type":"integer"}},"required":["active","folder","relocationMinSpamScore","autoDeleteSpam"],"type":"object"},"storageInBytes":{"properties":{"current":{"properties":{"updatedAt":{"format":"date-time","type":"string"},"value":{"type":"number"}},"required":["value","updatedAt"],"type":"object"},"limit":{"type":"number"}},"required":["limit","current"],"type":"object"}},"required":["name","sendingEnabled","spamProtection","storageInBytes","passwordUpdatedAt"],"type":"object"},"projectId":{"type":"string"},"receivingDisabled":{"type":"boolean"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","receivingDisabled","address","isCatchAll","projectId","forwardAddresses","updatedAt","autoResponder","isArchived"],"type":"object"},"de.mittwald.v1.mail.MailsystemSettings":{"properties":{"imapClusterId":{"type":"string"},"mailDirectory":{"type":"string"},"rateLimitId":{"type":"string"}},"required":["imapClusterId","mailDirectory","rateLimitId"],"type":"object"},"de.mittwald.v1.mailmigration.AutoResponder":{"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time"},"message":{"type":"string"},"startsAt":{"format":"date-time"}},"required":["active","message"],"type":"object"},"de.mittwald.v1.mailmigration.MailSystemSettings":{"properties":{"imapClusterId":{"type":"string"},"mailDirectory":{"type":"string"},"rateLimitId":{"type":"string"}},"required":["imapClusterId","mailDirectory","rateLimitId"],"type":"object"},"de.mittwald.v1.mailmigration.Mailbox":{"properties":{"mailsystem":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MailSystemSettings"},"name":{"type":"string"},"quotaInBytes":{"type":"integer"},"spamProtection":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.SpamProtection"}},"required":["name","quotaInBytes","mailsystem"],"type":"object"},"de.mittwald.v1.mailmigration.Migration":{"properties":{"aborted":{"type":"boolean"},"addresses":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddress"},"type":"array"},"finalizers":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationFinalizeJob"},"finished":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"mailboxes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailbox"},"type":"array"},"sourceCoabProjectId":{"type":"string"},"targetNexusProjectId":{"type":"string"}},"required":["id","targetNexusProjectId","sourceCoabProjectId","addresses","mailboxes","finalizers","finished","aborted"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationFinalizeJob":{"properties":{"disableLegacyEntities":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationFinalizeJobDisableLegacyEntities"},"projectSettingMigrations":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationFinalizeJobProjectSetting"}},"type":"object"},"de.mittwald.v1.mailmigration.MigrationFinalizeJobDisableLegacyEntities":{"properties":{"addresses":{"items":{"type":"string"},"type":"array"},"mailboxNames":{"items":{"type":"string"},"type":"array"}},"required":["mailboxNames","addresses"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationFinalizeJobProjectSetting":{"properties":{"blacklistEntries":{"items":{"type":"string"},"type":"array"},"whitelistEntries":{"items":{"type":"string"},"type":"array"}},"required":["blacklistEntries","whitelistEntries"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddress":{"properties":{"address":{"type":"string"},"finished":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"migrationJobs":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJob"},"preMigrationJobs":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJob"}},"required":["id","address","preMigrationJobs","migrationJobs","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrateMailAddressCommandRequirements":{"properties":{"address":{"type":"string"},"autoResponder":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.AutoResponder"},"forwardAddresses":{"items":{"type":"string"},"type":"array"},"isCatchAll":{"type":"boolean"},"mailbox":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Mailbox"},"projectId":{"type":"string"}},"required":["projectId"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJob":{"properties":{"migrate":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJobMigrate"}},"required":["migrate"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJobMigrate":{"properties":{"finished":{"type":"boolean"},"requirements":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrateMailAddressCommandRequirements"}},"required":["requirements","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJob":{"properties":{"aliasSet":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobAliasSet"},"type":"array"},"deliveryMigrations":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobDeliveryMigration"},"type":"array"}},"required":["deliveryMigrations","aliasSet"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobAliasSet":{"properties":{"finished":{"type":"boolean"},"sourceCoabMailboxName":{"type":"string"}},"required":["sourceCoabMailboxName","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobDeliveryMigration":{"properties":{"finished":{"type":"boolean"},"sourceCoabDeliveryMailbox":{"type":"string"},"sourceCoabDeliveryUid":{"type":"integer"},"targetDeliveryAddress":{"type":"string"}},"required":["sourceCoabDeliveryUid","sourceCoabDeliveryMailbox","targetDeliveryAddress","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailbox":{"properties":{"description":{"type":"string"},"finished":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"migrationJobs":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailboxJob"},"name":{"type":"string"}},"required":["id","name","migrationJobs","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailboxJob":{"properties":{"migrate":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailboxJobMigrate"}},"required":["migrate"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailboxJobMigrate":{"properties":{"requirements":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrateMailboxCommandRequirements"}},"required":["requirements"],"type":"object"},"de.mittwald.v1.mailmigration.MigrateMailboxCommandRequirements":{"properties":{"mailbox":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Mailbox"},"projectId":{"type":"string"}},"required":["projectId"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAlreadyExistingMailAddress":{"properties":{"address":{"type":"string"}},"required":["address"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailAddressDelivery":{"properties":{"addresses":{"items":{"type":"string"},"type":"array"},"mailboxName":{"type":"string"}},"required":["mailboxName","addresses"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailboxDelivery":{"properties":{"address":{"type":"string"},"mailboxes":{"items":{"type":"string"},"type":"array"}},"required":["address","mailboxes"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllMissingAddress":{"properties":{"address":{"type":"string"}},"required":["address"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllTargetWithoutAlias":{"properties":{"address":{"type":"string"},"mailboxName":{"type":"string"}},"required":["address","mailboxName"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorMissingVerifiedIngress":{"properties":{"hostname":{"format":"idn-hostname","type":"string"}},"required":["hostname"],"type":"object"},"de.mittwald.v1.mailmigration.PossibleCheckErrors":{"properties":{"alreadyExistingMailAddress":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAlreadyExistingMailAddress"},"type":"array"},"ambiguousMailAddressDelivery":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailAddressDelivery"},"type":"array"},"ambiguousMailboxDelivery":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailboxDelivery"},"type":"array"},"catchAllMissingAddress":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllMissingAddress"},"type":"array"},"catchAllTargetWithoutAlias":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllTargetWithoutAlias"},"type":"array"},"missingVerifiedIngress":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorMissingVerifiedIngress"},"type":"array"}},"required":["ambiguousMailAddressDelivery","ambiguousMailboxDelivery","catchAllMissingAddress","catchAllTargetWithoutAlias","missingVerifiedIngress","alreadyExistingMailAddress"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorResponse":{"properties":{"errors":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.PossibleCheckErrors"}},"type":"object"},"de.mittwald.v1.mailmigration.SpamProtection":{"properties":{"active":{"type":"boolean"},"deleteSensitivity":{"type":"integer"},"folder":{"default":0,"description":"SPAM_FOLDER_INBOX_UNSPECIFIED = 0 SPAM_FOLDER_SPAM = 1","enum":[0,1],"type":"integer"},"keepDays":{"type":"integer"},"relocateSensitivity":{"type":"integer"}},"required":["active","folder","keepDays"],"type":"object"},"de.mittwald.v1.membership.CustomerInheritedRoles":{"enum":["notset","owner","member","accountant"],"type":"string"},"de.mittwald.v1.membership.CustomerInvite":{"properties":{"avatarRefId":{"description":"Reference to the Project's avatar.","format":"uuid","type":"string"},"customerId":{"description":"ID of the Customer the invite is for.","format":"uuid","type":"string"},"customerName":{"description":"Name of the Customer the user is invited to.","type":"string"},"id":{"description":"ID of the CustomerInvite.","format":"uuid","type":"string"},"information":{"$ref":"#/components/schemas/de.mittwald.v1.membership.InviteInformation"},"mailAddress":{"description":"Mail-address of the user the invite is for.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the CustomerMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the CustomerInvite.","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"}},"required":["id","customerId","mailAddress","role","accepted","information","customerName"],"type":"object"},"de.mittwald.v1.membership.CustomerMembership":{"properties":{"customerId":{"description":"ID of the Customer the CustomerMembership is for.","format":"uuid","type":"string"},"email":{"description":"Email used by the invited user.","format":"email","type":"string"},"expiresAt":{"description":"Time the CustomerMembership should expire at.","format":"date-time","type":"string"},"id":{"description":"ID of the CustomerMembership.","format":"uuid","type":"string"},"inviteId":{"description":"ID of the CustomerInvite the membership was created from.","format":"uuid","type":"string"},"memberSince":{"description":"Date the CustomerMembership was created at.","format":"date-time","type":"string"},"mfa":{"description":"MFA activated by the user.","type":"boolean"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"},"userId":{"description":"ID of the user the CustomerMembership is for.","format":"uuid","type":"string"}},"required":["id","customerId","userId","role","email","mfa"],"type":"object"},"de.mittwald.v1.membership.CustomerRoles":{"enum":["notset","owner","member","accountant"],"type":"string"},"de.mittwald.v1.membership.InviteInformation":{"properties":{"invitationToken":{"description":"Token for authentication purposes.","type":"string"},"invitedBy":{"description":"ID of the user that created the invite.","format":"uuid","type":"string"},"userId":{"description":"ID of the user this invite is for.","format":"uuid","type":"string"}},"required":["invitedBy"],"type":"object"},"de.mittwald.v1.membership.ProjectInvite":{"properties":{"avatarRefId":{"description":"Reference to the Project's avatar.","format":"uuid","type":"string"},"id":{"description":"ID of the ProjectInvite.","format":"uuid","type":"string"},"information":{"$ref":"#/components/schemas/de.mittwald.v1.membership.InviteInformation"},"mailAddress":{"description":"Mail-address of the user the ProjectInvite is for.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the ProjectMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the ProjectInvite.","type":"string"},"projectDescription":{"description":"Description of the Project the invite is created for.","type":"string"},"projectId":{"description":"ID of the Project the invitation is for.","format":"uuid","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"}},"required":["id","projectId","mailAddress","role","accepted","information","projectDescription"],"type":"object"},"de.mittwald.v1.membership.ProjectMembership":{"properties":{"email":{"description":"Email used by the invited user.","format":"email","type":"string"},"expiresAt":{"description":"Time the ProjectMembership should expire at.","format":"date-time","type":"string"},"id":{"description":"ID of the ProjectMembership.","format":"uuid","type":"string"},"inherited":{"description":"Whether the ProjectMembership was inherited from a CustomerMembership.","type":"boolean"},"inviteId":{"description":"ID of the ProjectInvite the membership was created from.","format":"uuid","type":"string"},"memberSince":{"description":"Date the projectMembership was created at.","format":"date-time","type":"string"},"mfa":{"description":"MFA activated by the user.","type":"boolean"},"projectId":{"description":"ID of the Project the membership is for.","format":"uuid","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"},"userId":{"description":"ID of the user the ProjectMembership is for.","format":"uuid","type":"string"}},"required":["id","projectId","userId","role","inherited","email","mfa"],"type":"object"},"de.mittwald.v1.membership.ProjectRoles":{"enum":["notset","owner","emailadmin","external"],"type":"string"},"de.mittwald.v1.messaging.AggregateReference":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"},"parents":{"items":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},"type":"array"}},"required":["id","aggregate","domain"],"type":"object"},"de.mittwald.v1.messaging.Notification":{"properties":{"createdAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"read":{"type":"boolean"},"reference":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.AggregateReference"},"severity":{"enum":["success","info","warning","error"],"type":"string"},"type":{"type":"string"}},"required":["id","type","reference","severity","read","createdAt"],"type":"object"},"de.mittwald.v1.messaging.NotificationStatus":{"enum":["read"],"type":"string"},"de.mittwald.v1.order.Addons":{"properties":{"hidden":{"type":"boolean"},"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"de.mittwald.v1.order.ArticleAddons":{"properties":{"hidden":{"type":"boolean"},"key":{"minLength":1,"type":"string"},"type":{"type":"string"},"value":{"minLength":1,"type":"string"},"valueMergeType":{"enum":["add","set"],"type":"string"}},"required":["key","value"],"type":"object"},"de.mittwald.v1.order.AttributeConfiguration":{"properties":{"key":{"example":"storage","type":"string"},"value":{"example":10,"type":"string"}},"required":["key"],"type":"object"},"de.mittwald.v1.order.CustomerOrder":{"properties":{"contractChangeContractId":{"format":"uuid","type":"string"},"customerId":{"example":"4317f5c5-1ea8-4084-a9f1-3a8e7e1c94ff","minLength":1,"type":"string"},"dueDate":{"format":"date-time","type":"string"},"invoicingPeriod":{"description":"Invoicing period in months","example":12,"type":"number"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderItem"},"type":"array"},"orderDate":{"format":"date-time","type":"string"},"orderId":{"format":"uuid","type":"string"},"orderNumber":{"example":"5XXXXXX","minLength":1,"type":"string"},"profile":{"$ref":"#/components/schemas/de.mittwald.v1.order.Profile"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"summary":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderSummary"},"type":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderType"}},"required":["orderId","orderNumber","summary","customerId","invoicingPeriod","type","status","items"],"type":"object"},"de.mittwald.v1.order.DomainHandleField":{"properties":{"name":{"example":"name","type":"string"},"value":{"example":"Ada Lovelace","type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.order.DomainOrderPreview":{"properties":{"authCode":{"example":"XXXXXXX","type":"string"},"domain":{"example":"mittwald.example","type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["domain","projectId"],"type":"object"},"de.mittwald.v1.order.DomainOrder":{"properties":{"authCode":{"example":"XXXXXXX","type":"string"},"domain":{"example":"mittwald.example","type":"string"},"handleData":{"properties":{"adminC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainHandleField"},"type":"array"},"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainHandleField"},"minItems":1,"type":"array"}},"required":["ownerC"],"type":"object"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","domain","handleData"],"type":"object"},"de.mittwald.v1.order.ExternalCertificateOrderPreview":{"properties":{"certificateRequestId":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","certificateRequestId"],"type":"object"},"de.mittwald.v1.order.ExternalCertificateOrder":{"description":"You are able to order an External Certificate if you already created a Certificate Request.","properties":{"certificateRequestId":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","certificateRequestId"],"type":"object"},"de.mittwald.v1.order.HardwareSpec":{"properties":{"ram":{"example":2,"type":"number"},"vcpu":{"example":1,"type":"number"}},"type":"object"},"de.mittwald.v1.order.MachineTypeSpec":{"properties":{"machineType":{"example":"prospace.2cpu.4gb","type":"string"}},"type":"object"},"de.mittwald.v1.order.OrderItem":{"properties":{"addons":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.Addons"},"type":"array"},"articleId":{"example":"PS23-PLUS-0004","type":"string"},"articleName":{"example":"proSpace","type":"string"},"articleTemplateName":{"example":"Pro-Space-Hosting","type":"string"},"attributeConfiguration":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.AttributeConfiguration"},"type":"array"},"isInclusive":{"type":"boolean"},"orderItemId":{"format":"uuid","type":"string"},"predefinedDomainAggregateId":{"example":"aa38d836-fe72-4c43-aad3-9472b51edf61","type":"string"},"price":{"example":1000,"type":"number"},"reference":{"$ref":"#/components/schemas/de.mittwald.v1.order.Reference"}},"required":["orderItemId","articleId","price","isInclusive"],"type":"object"},"de.mittwald.v1.order.Reference":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"offerItemId":{"format":"uuid","type":"string"},"orderItemId":{"format":"uuid","type":"string"}},"type":"object"},"de.mittwald.v1.order.OrderStatus":{"enum":["NEW","CONFIRMED","REJECTED","ABORTED","EXECUTED"],"type":"string"},"de.mittwald.v1.order.OrderSummary":{"properties":{"nonRecurring":{"example":1000,"type":"number"},"recurring":{"example":9000,"type":"number"},"summary":{"description":"The total price of the order","example":10000,"type":"number"}},"required":["summary","recurring","nonRecurring"],"type":"object"},"de.mittwald.v1.order.OrderType":{"enum":["NEW_ORDER","CONTRACT_CHANGE"],"type":"string"},"de.mittwald.v1.order.DomainOrderPreviewResponse":{"properties":{"domainContractDuration":{"description":"Contract duration in months.","example":12,"type":"number"},"domainPrice":{"example":800,"type":"number"},"feePrice":{"example":100,"type":"number"},"totalPrice":{"example":900,"type":"number"}},"required":["totalPrice","domainPrice","feePrice","domainContractDuration"],"type":"object"},"de.mittwald.v1.order.ExternalCertificateOrderPreviewResponse":{"properties":{"feePrice":{"example":900,"type":"number"},"recurringPrice":{"example":490,"type":"number"},"totalPrice":{"example":1390,"type":"number"}},"required":["totalPrice","recurringPrice","feePrice"],"type":"object"},"de.mittwald.v1.order.HostingOrderPreviewResponse":{"properties":{"machineTypePrice":{"example":500,"type":"number"},"storagePrice":{"example":1000,"type":"number"},"totalPrice":{"example":1500,"type":"number"}},"required":["totalPrice","storagePrice","machineTypePrice"],"type":"object"},"de.mittwald.v1.order.Profile":{"properties":{"email":{"format":"email","type":"string"},"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"},"title":{"description":"the users title","enum":["other","mr","ms"],"type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","email"],"type":"object"},"de.mittwald.v1.order.ProjectHostingOrderPreview":{"properties":{"customerId":{"type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":10,"type":"number"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.MachineTypeSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.order.HardwareSpec"}]}},"required":["diskspaceInGiB","spec"],"type":"object"},"de.mittwald.v1.order.ProjectHostingOrder":{"properties":{"customerId":{"type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":10,"type":"number"},"promotionCode":{"example":"123456","type":"string"},"recommendationCode":{"example":"m-123456","type":"string"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.MachineTypeSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.order.HardwareSpec"}]},"useFreeTrial":{"type":"boolean"}},"required":["customerId","diskspaceInGiB","description","spec"],"type":"object"},"de.mittwald.v1.order.ProjectHostingTariffChange":{"properties":{"contractId":{"type":"string"},"diskspaceInGiB":{"example":10,"type":"number"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.MachineTypeSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.order.HardwareSpec"}]}},"required":["contractId","diskspaceInGiB","spec"],"type":"object"},"de.mittwald.v1.order.ServerOrderPreview":{"properties":{"customerId":{"example":"f3435305-fd26-470e-9f21-43d9be7e67e7","type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":100,"type":"number"},"machineType":{"example":"shared.xlarge","type":"string"}},"required":["machineType","diskspaceInGiB"],"type":"object"},"de.mittwald.v1.order.ServerOrder":{"properties":{"customerId":{"example":"f3435305-fd26-470e-9f21-43d9be7e67e7","minLength":1,"type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":100,"type":"number"},"machineType":{"example":"shared.xlarge","type":"string"},"promotionCode":{"example":"123456","type":"string"},"recommendationCode":{"example":"m-123456","type":"string"},"useFreeTrial":{"type":"boolean"}},"required":["customerId","machineType","diskspaceInGiB","description"],"type":"object"},"de.mittwald.v1.order.ServerTariffChange":{"properties":{"contractId":{"format":"uuid","type":"string"},"diskspaceInGiB":{"example":100,"type":"number"},"machineType":{"example":"shared.xlarge","type":"string"}},"required":["contractId","machineType","diskspaceInGiB"],"type":"object"},"de.mittwald.v1.article.ArticleAddons":{"properties":{"hidden":{"type":"boolean"},"key":{"minLength":1,"type":"string"},"type":{"type":"string"},"value":{"type":"string"},"valueMergeType":{"enum":["add","set"],"type":"string"}},"required":["key","value"],"type":"object"},"de.mittwald.v1.article.ArticleAttributes":{"properties":{"customerEditable":{"type":"boolean"},"key":{"example":"cpu","minLength":1,"type":"string"},"mergeType":{"enum":["add","set"],"type":"string"},"readonly":{"type":"boolean"},"required":{"type":"boolean"},"unit":{"example":"GHz","type":"string"},"value":{"example":"4","type":"string"}},"required":["key"],"type":"object"},"de.mittwald.v1.article.ReadableBookableArticleOptions":{"properties":{"articleId":{"example":"PS23-BASIC-0001","minLength":1,"type":"string"},"info":{"properties":{"articleName":{"example":"proSpace lite","type":"string"},"articleTemplateName":{"example":"proSpace","type":"string"},"fromArticleTemplate":{"type":"boolean"}},"type":"object"},"maxArticleCount":{"example":10,"type":"number"}},"required":["articleId"],"type":"object"},"de.mittwald.v1.article.ReadableChangeArticleOptions":{"properties":{"articleId":{"minLength":1,"type":"string"},"info":{"properties":{"articleName":{"example":"proSpace lite","type":"string"},"articleTemplateName":{"example":"proSpace","type":"string"},"fromArticleTemplate":{"type":"boolean"}},"type":"object"}},"required":["articleId"],"type":"object"},"de.mittwald.v1.article.ReadableModifierArticleOptions":{"properties":{"articleId":{"minLength":1,"type":"string"},"info":{"properties":{"articleName":{"example":"proSpace lite","type":"string"},"articleTemplateName":{"example":"proSpace","type":"string"},"fromArticleTemplate":{"type":"boolean"}},"type":"object"},"maxArticleCount":{"minimum":1,"type":"number"}},"required":["articleId","maxArticleCount"],"type":"object"},"de.mittwald.v1.article.ArticleTag":{"properties":{"description":{"example":"CPU optimized","minLength":1,"type":"string"},"hexColor":{"example":"#ff0000","minLength":1,"type":"string"},"id":{"example":"58e39bbe-fcd1-4fde-887c-f49ff85b9df5","minLength":1,"type":"string"},"name":{"example":"cpu-optimized","minLength":1,"type":"string"}},"required":["id"],"type":"object"},"de.mittwald.v1.article.ArticleTemplate":{"properties":{"additionalArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableBookableArticleOptions"},"type":"array"},"addons":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAddons"},"type":"array"},"attributes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAttributes"},"type":"array"},"description":{"example":"Space-Storage","type":"string"},"id":{"example":"054e27e4-d3ed-4ffc-a472-fbb74a6a2ec1","minLength":1,"type":"string"},"isManagedByDomain":{"type":"boolean"},"isRecurring":{"type":"boolean"},"modifierArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableModifierArticleOptions"},"type":"array"},"name":{"example":"Speicher für Space-Server aller Art","minLength":3,"type":"string"},"type":{"enum":["miscellaneous","base","additional","modifier","setup_fee"],"type":"string"}},"required":["id","name","isRecurring","type","isManagedByDomain"],"type":"object"},"de.mittwald.v1.article.ReadableArticle":{"properties":{"addons":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAddons"},"type":"array"},"articleId":{"example":"PS23-BASIC-0001","minLength":3,"type":"string"},"attributes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAttributes"},"type":"array"},"balanceAddonKey":{"example":"inclusive_domains","type":"string"},"contractDurationInMonth":{"example":0,"maximum":42,"minimum":0,"type":"number"},"description":{"example":"proSpace without dedicated resources","type":"string"},"forcedInvoicingPeriodInMonth":{"example":0,"minimum":0,"type":"number"},"hasIndependentContractPeriod":{"type":"boolean"},"hideOnInvoice":{"type":"boolean"},"machineType":{"properties":{"cpu":{"example":1,"type":"string"},"memory":{"example":10,"type":"string"},"name":{"example":"psplus-shared","type":"string"}},"required":["name","cpu","memory"],"type":"object"},"modifierArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableModifierArticleOptions"},"type":"array"},"name":{"example":"proSpace lite","minLength":3,"type":"string"},"orderable":{"enum":["forbidden","internal","beta_testing","full","deprecated"],"type":"string"},"possibleArticleChanges":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableChangeArticleOptions"},"type":"array"},"price":{"example":1000,"type":"number"},"tags":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleTag"},"type":"array"},"template":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleTemplate"}},"required":["articleId","name","contractDurationInMonth","orderable","template"],"type":"object"},"de.mittwald.v1.project.AvatarRules":{"properties":{"maxSizeInKB":{"example":3000,"type":"integer"},"mimeTypes":{"example":["image/jpeg","image/png"],"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"},"de.mittwald.v1.project.DeprecatedProjectReadinessStatus":{"deprecated":true,"description":"deprecated by property status","enum":["creating","ready","unready"],"type":"string"},"de.mittwald.v1.project.DeprecatedServerReadinessStatus":{"deprecated":true,"description":"deprecated by property status","enum":["creating","ready","unready"],"type":"string"},"de.mittwald.v1.project.FilesystemDirectoryListing":{"properties":{"absolutePath":{"type":"string"},"isDirectory":{"type":"boolean"},"isExecutable":{"type":"boolean"},"isFile":{"type":"boolean"},"isSymlink":{"type":"boolean"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemDirectoryListing"},"type":"array"},"name":{"type":"string"},"size":{"type":"integer"},"target":{"type":"string"}},"required":["absolutePath","name","size"],"type":"object"},"de.mittwald.v1.project.FilesystemUsagesDisk":{"properties":{"path":{"type":"string"},"totalBytes":{"type":"integer"},"usedBytes":{"type":"integer"}},"type":"object"},"de.mittwald.v1.project.FsApiJwt":{"properties":{"jwt":{"example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSBMb3ZlbGFjZSIsImlhdCI6MTUxNjIzOTAyMn0.sMjBP_p34T5mbJTVdEWQ8i2hQPVxsmlt8L6-rKpCczo","type":"string"}},"required":["jwt"],"type":"object"},"de.mittwald.v1.project.HardwareSpec":{"properties":{"cpu":{"example":"2","type":"string"},"mem":{"deprecated":true,"description":"deprecated by memory","example":"4Gi","type":"string"},"memory":{"example":"4Gi","type":"string"},"storage":{"example":"50Gi","type":"string"}},"required":["storage"],"type":"object"},"de.mittwald.v1.project.MachineType":{"properties":{"cpu":{"example":"2","type":"string"},"memory":{"example":"4Gi","type":"string"},"name":{"example":"shared.large","type":"string"}},"required":["name","cpu","memory"],"type":"object"},"de.mittwald.v1.project.DisableReason":{"enum":["maliciousCode","illegalContent","maliciousConduct","suspended"],"type":"string"},"de.mittwald.v1.project.ProjectStatus":{"enum":["pending","ready","preparingForVolumeMigration","migratingVolume","error","disabled"],"type":"string"},"de.mittwald.v1.project.Project":{"properties":{"backupStorageUsageInBytes":{"format":"int64","type":"integer"},"backupStorageUsageInBytesSetAt":{"format":"date-time","type":"string"},"clusterDomain":{"example":"project.host","format":"hostname","type":"string"},"clusterID":{"deprecated":true,"description":"deprecated by property clusterId","example":"espelkamp","type":"string"},"clusterId":{"example":"espelkamp","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerId":{"example":"f282f1a8-2b15-4b08-9850-6788e3b20136","type":"string"},"description":{"example":"My first Project!","type":"string"},"directories":{"additionalProperties":{"type":"string"},"example":{"Home":"/home/p-4e7tz3"},"type":"object"},"disableReason":{"$ref":"#/components/schemas/de.mittwald.v1.project.DisableReason"},"disabledAt":{"format":"date-time","type":"string"},"enabled":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"imageRefId":{"format":"uuid","type":"string"},"isReady":{"deprecated":true,"description":"deprecated by property status","type":"boolean"},"projectHostingId":{"format":"uuid","type":"string"},"readiness":{"$ref":"#/components/schemas/de.mittwald.v1.project.DeprecatedProjectReadinessStatus"},"serverId":{"format":"uuid","type":"string"},"serverShortId":{"type":"string"},"shortId":{"example":"s-4e7tz3","type":"string"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.project.VisitorSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.project.HardwareSpec"}]},"statisticsBaseDomain":{"example":"pe-prod.staging.mcloud.services","format":"hostname","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.project.ProjectStatus"},"statusSetAt":{"format":"date-time","type":"string"},"webStorageUsageInBytes":{"format":"int64","type":"integer"},"webStorageUsageInBytesSetAt":{"format":"date-time","type":"string"}},"required":["id","shortId","description","enabled","customerId","directories","createdAt","isReady","readiness","status","statusSetAt","webStorageUsageInBytes","webStorageUsageInBytesSetAt","backupStorageUsageInBytes","backupStorageUsageInBytesSetAt"],"type":"object"},"de.mittwald.v1.project.ServerDisableReason":{"enum":["suspended"],"type":"string"},"de.mittwald.v1.project.ServerStatus":{"enum":["pending","ready","unready"],"type":"string"},"de.mittwald.v1.project.Server":{"properties":{"clusterName":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerId":{"example":"673c107f-75e1-451c-8eaa-5bf101bd2b2c","type":"string"},"description":{"example":"My first Server!","type":"string"},"disabledReason":{"$ref":"#/components/schemas/de.mittwald.v1.project.ServerDisableReason"},"id":{"format":"uuid","type":"string"},"imageRefId":{"format":"uuid","type":"string"},"isReady":{"deprecated":true,"description":"deprecated by property status","type":"boolean"},"machineType":{"$ref":"#/components/schemas/de.mittwald.v1.project.MachineType"},"readiness":{"$ref":"#/components/schemas/de.mittwald.v1.project.DeprecatedServerReadinessStatus"},"shortId":{"example":"s-4e7tz3","type":"string"},"statisticsBaseDomain":{"example":"pe-prod.staging.mcloud.services","format":"hostname","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.project.ServerStatus"},"storage":{"example":"50Gi","type":"string"}},"required":["id","shortId","customerId","machineType","storage","description","isReady","readiness","createdAt","clusterName","status"],"type":"object"},"de.mittwald.v1.project.VisitorSpec":{"properties":{"storage":{"type":"string"},"visitors":{"type":"number"}},"required":["visitors","storage"],"type":"object"},"de.mittwald.v1.directus.Domain":{"properties":{"authCode":{"description":"The authcode of the domain. Leave empty when mittwald can generate a authcode on its own","type":"string"},"domainOwnerData":{"description":"Leave empty when mittwald should keep the same domain owner","type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"de.mittwald.v1.screenshot.Target":{"properties":{"domain":{"example":"example.com","type":"string"},"path":{"type":"string"},"scheme":{"enum":["http","https"],"example":"https","type":"string"}},"required":["scheme","domain"],"type":"object"},"de.mittwald.v1.screenshot.Task":{"properties":{"executedAt":{"format":"date-time","type":"string"},"fileReference":{"type":"string"},"id":{"format":"uuid","type":"string"},"priority":{"type":"number"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.screenshot.ScreenshotSettings"},"target":{"$ref":"#/components/schemas/de.mittwald.v1.screenshot.Target"},"taskState":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.screenshot.LifecycleState"},{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}]}},"required":["id","settings","target","priority"],"type":"object"},"de.mittwald.v1.screenshot.LifecycleState":{"type":"string"},"de.mittwald.v1.screenshot.ScreenshotSettings":{"properties":{"dataType":{"enum":["jpeg","png","webp"],"type":"string"},"delay":{"type":"number"},"height":{"type":"number"},"quality":{"type":"number"},"width":{"type":"number"}},"required":["width","height","quality","delay","dataType"],"type":"object"},"de.mittwald.v1.sshuser.EntityTypes":{"enum":["ssh","sftp"],"type":"string"},"de.mittwald.v1.sshuser.AccessLevel":{"description":"The level of access for an SFTPUser.","enum":["full","read","unspecified"],"type":"string"},"de.mittwald.v1.sshuser.AuthType":{"description":"Method of authentication that a given SFTPUser or SSHuser supports.","enum":["password","publicKey"],"type":"string"},"de.mittwald.v1.sshuser.Authentication":{"description":"Method of authentication for an SFTPUser or SSHUser. Can be password or public-keys.","oneOf":[{"properties":{"password":{"maxLength":72,"type":"string"}},"required":["password"],"type":"object"},{"properties":{"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"}},"required":["publicKeys"],"type":"object"}]},"de.mittwald.v1.sshuser.PublicKey":{"description":"A representation of an ssh-public-key.","properties":{"comment":{"type":"string"},"key":{"type":"string"}},"required":["comment","key"],"type":"object"},"de.mittwald.v1.sshuser.SftpUser":{"description":"A representation of an SFTPUser.","properties":{"accessLevel":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.AccessLevel"},"active":{"type":"boolean"},"authUpdatedAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"directories":{"items":{"type":"string"},"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"hasPassword":{"type":"boolean"},"id":{"type":"string"},"projectId":{"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"},"updatedAt":{"format":"date-time","type":"string"},"userName":{"type":"string"}},"required":["id","projectId","description","userName","createdAt","authUpdatedAt","accessLevel","hasPassword"],"type":"object"},"de.mittwald.v1.sshuser.SshUser":{"description":"A representation of an SSHUser.","properties":{"active":{"type":"boolean"},"authUpdatedAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"hasPassword":{"type":"boolean"},"id":{"type":"string"},"projectId":{"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"},"updatedAt":{"format":"date-time","type":"string"},"userName":{"type":"string"}},"required":["id","projectId","description","userName","createdAt","authUpdatedAt","hasPassword"],"type":"object"},"de.mittwald.v1.ssl.Certificate":{"properties":{"caBundle":{"type":"string"},"certificate":{"type":"string"},"certificateOrderId":{"format":"uuid","type":"string"},"certificateRequestId":{"format":"uuid","type":"string"},"certificateType":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateType"},"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"dnsNames":{"items":{"type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"isExpired":{"type":"boolean"},"issuer":{"type":"string"},"lastExpirationThresholdHit":{"type":"integer"},"projectId":{"format":"uuid","type":"string"},"validFrom":{"format":"date-time","type":"string"},"validTo":{"format":"date-time","type":"string"}},"required":["id","certificateType","certificateRequestId","projectId","validFrom","validTo","certificate","isExpired","lastExpirationThresholdHit"],"type":"object"},"de.mittwald.v1.ssl.CertificateData":{"properties":{"caBundle":{"type":"string"},"certificate":{"type":"string"},"signingRequest":{"type":"string"}},"type":"object"},"de.mittwald.v1.ssl.CertificateError":{"properties":{"message":{"oneOf":[{"description":"Failed to read the certificate.","enum":["certificate_read_failed"],"type":"string"},{"description":"Failed to decode the certificate.","enum":["certificate_decode_failed"],"type":"string"},{"description":"An error occurred while parsing the certificate.","enum":["certificate_parsing_failed"],"type":"string"},{"description":"The certificate is self-signed.","enum":["certificate_self_signed"],"type":"string"},{"description":"The certificate is not authorized to sign.","enum":["certificate_not_authorized_to_sign"],"type":"string"},{"description":"The certificate has expired.","enum":["certificate_expired"],"type":"string"},{"description":"The Certificate Authority (CA) is not authorized for this name.","enum":["ca_not_authorized_for_this_name"],"type":"string"},{"description":"There are too many intermediate certificates.","enum":["too_many_intermediates"],"type":"string"},{"description":"The certificate's usage is incompatible.","enum":["incompatible_usage"],"type":"string"},{"description":"The certificate is signed by an unknown authority.","enum":["unknown_authority"],"type":"string"},{"description":"Failed to read the private key.","enum":["private_key_read_failed"],"type":"string"},{"description":"Failed to decode the private key.","enum":["private_key_decode_failed"],"type":"string"},{"description":"An error occurred while parsing the private key.","enum":["private_key_parse_failed"],"type":"string"},{"description":"The private key is encrypted.","enum":["private_key_encrypted"],"type":"string"},{"description":"The private key is not RSA.","enum":["private_key_not_rsa"],"type":"string"},{"description":"The private key does not match the certificate.","enum":["private_key_mismatch"],"type":"string"},{"description":"An unknown error occurred related to Cloudflare.","enum":["unknown_cloudflare_error"],"type":"string"},{"description":"An unknown error occurred.","enum":["unknown"],"type":"string"}]}},"required":["message"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequest":{"properties":{"certificateData":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateData"},"certificateType":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateType"},"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"createdAt":{"format":"date-time","type":"string"},"dnsNames":{"items":{"type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"isCompleted":{"type":"boolean"},"issuer":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"validFrom":{"format":"date-time","type":"string"},"validTo":{"format":"date-time","type":"string"}},"required":["id","certificateType","projectId","certificateData","isCompleted","createdAt"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequestCreateRequest":{"properties":{"certificate":{"type":"string"},"privateKey":{"type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","certificate","privateKey"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequestCreateResponse":{"properties":{"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"dnsNames":{"items":{"type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"issuer":{"type":"string"},"signingRequest":{"type":"string"},"validFrom":{"format":"date-time","type":"string"},"validTo":{"format":"date-time","type":"string"}},"required":["id","contact"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequestCreateWithCSRRequest":{"properties":{"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","commonName","contact"],"type":"object"},"de.mittwald.v1.ssl.CertificateType":{"enum":[0,1,2],"type":"integer"},"de.mittwald.v1.ssl.CheckReplaceChanges":{"properties":{"commonName":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceFieldChange"},"dnsNames":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceSliceChange"},"issuer":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceFieldChange"},"validFrom":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceDateChange"},"validTo":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceDateChange"}},"type":"object"},"de.mittwald.v1.ssl.CheckReplaceDateChange":{"properties":{"newValue":{"format":"date-time","type":"string"},"oldValue":{"format":"date-time","type":"string"}},"required":["oldValue","newValue"],"type":"object"},"de.mittwald.v1.ssl.CheckReplaceFieldChange":{"properties":{"newValue":{"type":"string"},"oldValue":{"type":"string"}},"required":["oldValue","newValue"],"type":"object"},"de.mittwald.v1.ssl.CheckReplaceCertificateResponse":{"properties":{"changes":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceChanges"},"errors":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateError"},"type":"array"},"isReplaceable":{"type":"boolean"}},"required":["isReplaceable"],"type":"object"},"de.mittwald.v1.ssl.CheckReplaceSliceChange":{"properties":{"addedValues":{"items":{"type":"string"},"type":"array"},"removedValues":{"items":{"type":"string"},"type":"array"},"values":{"items":{"type":"string"},"type":"array"}},"required":["values","addedValues","removedValues"],"type":"object"},"de.mittwald.v1.ssl.Contact":{"properties":{"city":{"type":"string"},"company":{"type":"string"},"country":{"description":"Two letter abbreviation - country code (ISO 3166-1 Alpha-2).","example":"DE","pattern":"^[A-Z]{2}$","type":"string"},"organizationalUnit":{"type":"string"},"state":{"type":"string"}},"type":"object"},"de.mittwald.v1.signup.Account":{"properties":{"email":{"example":"a.lovelace@example.com","format":"email","type":"string"},"mfaDetails":{"description":"The users mfa details.","properties":{"mfaConfirmed":{"type":"boolean"},"mfaInitialized":{"type":"boolean"}},"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"userId":{"type":"string"}},"type":"object"},"de.mittwald.v1.signup.ApiToken":{"properties":{"apiTokenId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"example":"Api Token - read","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"roles":{"items":{"enum":["api_read","api_write"],"type":"string"},"type":"array"}},"required":["apiTokenId","roles","description","createdAt"],"type":"object"},"de.mittwald.v1.signup.DeviceInfo":{"properties":{"browser":{"example":"Safari","type":"string"},"model":{"example":"Apple Macintosh","type":"string"},"os":{"example":"Mac OS","type":"string"},"type":{"example":"Macbook","type":"string"}},"type":"object"},"de.mittwald.v1.signup.DomainError":{"properties":{"info":{"description":"A json object, given further information about the error","type":"object"},"message":{"description":"Some more detailed information about the error","type":"string"},"name":{"description":"Unique key for the error type","type":"string"}},"required":["name","message"],"type":"object"},"de.mittwald.v1.signup.Location":{"properties":{"city":{"example":"Espelkamp","type":"string"},"country":{"example":"DE","type":"string"},"ipAddress":{"format":"ipv4","type":"string"}},"type":"object"},"de.mittwald.v1.signup.Profile":{"properties":{"email":{"example":"a.lovelace@example.com","format":"email","type":"string"},"mfaDetails":{"description":"the users mfa details","properties":{"mfaConfirmed":{"type":"boolean"},"mfaInitialized":{"type":"boolean"}},"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"userId":{"type":"string"}},"type":"object"},"de.mittwald.v1.user.CustomerMembership":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"memberSince":{"format":"date-time","type":"string"},"role":{"enum":["owner","member","accountant"],"type":"string"}},"required":["role","memberSince"],"type":"object"},"de.mittwald.v1.user.UserFeedback":{"properties":{"id":{"format":"uuid","type":"string"},"message":{"maxLength":1000,"type":"string"},"origin":{"maxLength":1000,"type":"string"},"subject":{"maxLength":100,"minLength":1,"type":"string"},"vote":{"maximum":10,"minimum":0,"type":"number"}},"required":["id","subject","vote","origin","message"],"type":"object"},"de.mittwald.v1.user.ProjectMembership":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"inherited":{"type":"boolean"},"memberSince":{"format":"date-time","type":"string"},"role":{"enum":["owner","emailadmin","external"],"type":"string"}},"required":["role","memberSince","inherited"],"type":"object"},"de.mittwald.v1.user.User":{"properties":{"avatarRef":{"format":"uuid","type":"string"},"customerMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.CustomerMembership"},"type":"object"},"email":{"format":"email","type":"string"},"employeeInformation":{"description":"Additional information about mittwald employees.","properties":{"department":{"example":"Kundenservice","type":"string"}},"required":["department"],"type":"object"},"isEmployee":{"description":"Truth value, whether the user is a mittwald employee","type":"boolean"},"mfa":{"properties":{"active":{"default":false,"type":"boolean"},"setup":{"default":false,"type":"boolean"}},"required":["active","setup"],"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"phoneNumber":{"example":"+491701234567","type":"string"},"projectMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.ProjectMembership"},"type":"object"},"registeredAt":{"format":"date-time","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","person"],"type":"object"},"de.mittwald.v1.user.UserInternal":{"properties":{"avatarRef":{"format":"uuid","type":"string"},"customerMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.CustomerMembership"},"type":"object"},"disabled":{"description":"Truth value, whether the user has been disabled.","type":"boolean"},"disabledAt":{"format":"date-time","type":"string"},"disabledBy":{"format":"uuid","type":"string"},"email":{"format":"email","type":"string"},"employeeInformation":{"description":"Additional information about mittwald employees.","properties":{"department":{"example":"Kundenservice","type":"string"}},"required":["department"],"type":"object"},"isEmployee":{"description":"Truth value, whether the user is a mittwald employee","type":"boolean"},"mfa":{"properties":{"active":{"default":false,"type":"boolean"},"setup":{"default":false,"type":"boolean"}},"required":["active","setup"],"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"phoneNumber":{"example":"+491701234567","type":"string"},"projectMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.ProjectMembership"},"type":"object"},"registeredAt":{"format":"date-time","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","person"],"type":"object"},"de.mittwald.v1.signup.SshKey":{"properties":{"algorithm":{"example":"ssh-rsa","type":"string"},"comment":{"example":"a.lovelace@example.com","type":"string"},"createdAt":{"format":"date-time","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"fingerprint":{"example":"a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1","format":"hexdump","type":"string"},"key":{"type":"string"},"sshKeyId":{"format":"uuid","type":"string"}},"required":["sshKeyId","algorithm","key","comment","fingerprint","createdAt"],"type":"object"},"de.mittwald.v1.poll.UserPollSettings":{"properties":{"completedAt":{"format":"date-time","type":"string"},"dontShowUntil":{"format":"date-time","type":"string"},"ignoredAt":{"format":"date-time","type":"string"},"shouldShow":{"type":"boolean"},"status":{"enum":["completed","muted","ignored","new"],"type":"string"},"userId":{"type":"string"}},"required":["userId","shouldShow","status"],"type":"object"},"de.mittwald.v1.signup.UserSession":{"properties":{"created":{"format":"date-time","type":"string"},"device":{"$ref":"#/components/schemas/de.mittwald.v1.signup.DeviceInfo"},"lastAccess":{"format":"date-time","type":"string"},"location":{"$ref":"#/components/schemas/de.mittwald.v1.signup.Location"},"tokenId":{"format":"uuid","type":"string"}},"required":["device","created","tokenId"],"type":"object"},"de.mittwald.v1.varnish.ConfigRevision":{"properties":{"expire":{"type":"integer"},"files":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileRef"},"type":"array"},"note":{"type":"string"},"revision":{"minimum":1,"type":"integer"},"updated":{"format":"date-time","type":"string"}},"required":["revision","updated","files"],"type":"object"},"de.mittwald.v1.varnish.ConfigTemplate":{"properties":{"files":{"description":"A set of config file references.","items":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileRef"},"type":"array"},"isGlobal":{"type":"boolean"},"note":{"type":"string"},"projectId":{"type":"string"},"softwareConfigTemplateId":{"type":"string"},"softwareTemplateId":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["softwareConfigTemplateId","softwareTemplateId","files"],"type":"object"},"de.mittwald.v1.varnish.ConfigFile":{"properties":{"content":{"format":"bytes","type":"string"},"meta":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileMetadata"}},"required":["content"],"type":"object"},"de.mittwald.v1.varnish.ConfigFileMetadata":{"properties":{"name":{"type":"string"},"path":{"type":"string"}},"required":["name"],"type":"object"},"de.mittwald.v1.varnish.ConfigFileRef":{"properties":{"meta":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileMetadata"},"refId":{"type":"string"}},"required":["refId"],"type":"object"},"de.mittwald.v1.varnish.GlobalConfigTemplate":{"properties":{"data":{"format":"byte","type":"string"},"name":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["name","data","updatedAt"],"type":"object"},"de.mittwald.v1.varnish.Software":{"properties":{"config":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.SoftwareConfig"},"projectId":{"type":"string"},"settings":{"additionalProperties":{"type":"string"},"type":"object"},"softwareId":{"type":"string"},"softwareTemplateId":{"type":"string"},"softwareVersion":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["softwareId","updatedAt","softwareTemplateId","softwareVersion","projectId","config"],"type":"object"},"de.mittwald.v1.varnish.SoftwareConfig":{"properties":{"configExpiration":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigExpiration"},"latestConfigRevision":{"type":"number"},"revisions":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigRevision"},"type":"array"}},"type":"object"},"de.mittwald.v1.varnish.ConfigExpiration":{"properties":{"maxVersions":{"type":"number"},"retentionTime":{"type":"number"}},"type":"object"},"de.mittwald.v1.varnish.SoftwareConfigFileAccessToken":{"properties":{"accessToken":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["accessToken","expiresAt"],"type":"object"},"de.mittwald.v1.varnish.SoftwareSetting":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.commons.Address":{"type":"object","properties":{"street":{"type":"string","example":"Königsberger Straße"},"houseNumber":{"type":"string","example":"4-6"},"city":{"type":"string","example":"Espelkamp"},"zip":{"type":"string","example":"32339"},"countryCode":{"type":"string","example":"DE","description":"ISO 3166-1 alpha-2 country code"},"addressPrefix":{"type":"string","example":"c/o Ada Lovelace"}},"required":["street","houseNumber","city","zip","countryCode"]},"de.mittwald.v1.commons.Error":{"type":"object","required":["type","message"],"properties":{"message":{"type":"string","example":"Something went wrong"},"type":{"type":"string","example":"InternalServerError"}}},"de.mittwald.v1.commons.Person":{"type":"object","description":"The users personal information, e.g. first name.","properties":{"firstName":{"type":"string","description":"The users first name","example":"Ada"},"lastName":{"type":"string","description":"The users last name","example":"Lovelace"},"title":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"}},"required":["lastName","firstName"]},"de.mittwald.v1.commons.Salutation":{"type":"string","enum":["mr","ms","other"]},"de.mittwald.v1.commons.ValidationErrorSchema":{"type":"object","required":["message","path","type"],"properties":{"message":{"type":"string","description":"The standard error message","example":"should be string"},"path":{"type":"string","description":"The path to the part of the data that was validated. JavaScript property access notation (e.g., \".prop[1].subProp\") is used.\n","example":".address.street"},"type":{"type":"string","description":"ajv validation error type (e.g. \"format\", \"required\", \"type\") or own validation error types","example":"format"},"context":{"type":"object","example":{"format":"email"},"description":"The object with the additional information about the error that can be used to create custom error messages. Keys depend on the\ntype that failed validation (e.g. \"missingProperty\" for type \"required\")\n","additionalProperties":{"type":"string"}}}},"de.mittwald.v1.commons.ValidationErrors":{"type":"object","required":["type","validationErrors"],"properties":{"type":{"type":"string","enum":["ValidationError"]},"message":{"type":"string","example":"Validation failed"},"validationErrors":{"type":"array","items":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrorSchema"}}}}},"securitySchemes":{"de.mittwald.v1.common.LegacyAccessToken":{"description":"Legacy Access Token is required in header","in":"header","name":"Authorization","type":"apiKey"},"de.mittwald.v1.commons.AccessToken":{"description":"Access Token is required in header","in":"header","name":"x-access-token","type":"apiKey"},"de.mittwald.v1.commons.LegacyBearerAuthentication":{"description":"'Authorization: Bearer xyz' is required","in":"header","name":"Authorization","type":"apiKey"}}},"paths":{"/v2/app-installations/{appInstallationId}/actions/{action}":{"post":{"operationId":"app-execute-action","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"action","required":true,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.Action"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"204":{"description":"The given action has been executed."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Trigger a runtime action belonging to an AppInstallation.","tags":["App"]}},"/v2/apps/{appId}":{"get":{"operationId":"app-get-app","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.App"}}},"description":"The app object."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an App.","tags":["App"]}},"/v2/app-installations/{appInstallationId}":{"get":{"operationId":"app-get-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallation"}}},"description":"The AppInstallation."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an AppInstallation.","tags":["App"]},"patch":{"operationId":"app-patch-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"appVersionId":{"format":"uuid","type":"string"},"customDocumentRoot":{"type":"string"},"description":{"type":"string"},"systemSoftware":{"additionalProperties":{"properties":{"systemSoftwareVersion":{"type":"string"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareUpdatePolicy"}},"type":"object"},"type":"object"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"type":"object"}}},"description":"Properties to update for an AppInstallation.","required":true},"responses":{"204":{"description":"The AppInstallation has been patched."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update properties belonging to an AppInstallation.","tags":["App"]},"delete":{"operationId":"app-uninstall-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The app installation is going to be deleted."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Trigger an uninstallation process for an AppInstallation.","tags":["App"]}},"/v2/apps/{appId}/versions/{appVersionId}":{"get":{"operationId":"app-get-appversion","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"appVersionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppVersion"}}},"description":"The appVersion object."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an AppVersion.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/systemSoftware":{"get":{"operationId":"app-get-installed-systemsoftware-for-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"tagFilter","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftware"},"type":"array"}}},"description":"The list of installed 'SystemSoftware'."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the installed `SystemSoftware' for a specific `AppInstallation`.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/missing-dependencies":{"get":{"operationId":"app-get-missing-dependencies-for-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"targetAppVersionID","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"missingSystemSoftwareDependencies":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareDependency"},"type":"array"},"missingUserInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInput"},"type":"array"}},"type":"object"}}},"description":"The missing dependencies of the AppInstallation for the target AppVersion."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the missing requirements of an appInstallation for a specific target AppVersion.","tags":["App"]}},"/v2/system-softwares/{systemSoftwareId}":{"get":{"operationId":"app-get-systemsoftware","parameters":[{"in":"path","name":"systemSoftwareId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftware"}}},"description":"The SystemSoftware."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a SystemSoftware.","tags":["App"]}},"/v2/system-software/{systemSoftwareId}/versions/{systemSoftwareVersionId}":{"get":{"operationId":"app-get-systemsoftwareversion","parameters":[{"in":"path","name":"systemSoftwareId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"systemSoftwareVersionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareVersion"}}},"description":"The systemSoftwareVersion object."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a SystemSoftwareVersion.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/database":{"patch":{"operationId":"app-link-database","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseId":{"format":"uuid","type":"string"},"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"},"purpose":{"enum":["primary","cache","custom"],"type":"string"}},"required":["databaseId","purpose"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The database has been linked."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create linkage between an AppInstallation and a MySQLDatabase.","tags":["App"]}},"/v2/app-installations":{"get":{"operationId":"app-list-appinstallations-for-user","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallation"},"type":"array"}}},"description":"Object containing the list of AppInstallations.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List AppInstallations that a user has access to.","tags":["App"],"parameters":[{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}]}},"/v2/projects/{projectId}/app-installations":{"get":{"operationId":"app-list-appinstallations","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallation"},"type":"array"}}},"description":"Object containing the list of AppInstallations.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List AppInstallations belonging to a Project.","tags":["App"]},"post":{"operationId":"app-request-appinstallation","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"appVersionId":{"format":"uuid","type":"string"},"description":{"type":"string"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"required":["appVersionId","description","userInputs","updatePolicy"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"The AppInstallation has been requested."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request an AppInstallation.","tags":["App"]}},"/v2/apps":{"get":{"operationId":"app-list-apps","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.App"},"type":"array"}}},"description":"Object containing the list of Apps.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Apps.","tags":["App"],"parameters":[{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}]}},"/v2/apps/{appId}/versions":{"get":{"operationId":"app-list-appversions","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"recommended","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppVersion"},"type":"array"}}},"description":"Object containing the list of AppVersions.","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List AppVersions belonging to an App.","tags":["App"]}},"/v2/system-softwares":{"get":{"operationId":"app-list-systemsoftwares","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftware"},"type":"array"}}},"description":"Object containing the list of SystemSoftwares.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List SystemSoftwares.","tags":["App"],"parameters":[{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}]}},"/v2/system-software/{systemSoftwareId}/versions":{"get":{"operationId":"app-list-systemsoftwareversions","parameters":[{"in":"path","name":"systemSoftwareId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"versionRange","required":false,"schema":{"type":"string"}},{"in":"query","name":"recommended","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareVersion"},"type":"array"}}},"description":"Object containing the list of SystemSoftwareVersions.","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List SystemSoftwareVersions belonging to a SystemSoftware.","tags":["App"]}},"/v2/apps/{appId}/versions/{baseAppVersionId}/update-candidates":{"get":{"operationId":"app-list-update-candidates-for-appversion","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"baseAppVersionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppVersion"},"type":"array"}}},"description":"Object containing the list of AppVersions.","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List update candidates belonging to an AppVersion.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/database/replace":{"patch":{"operationId":"app-replace-database","parameters":[{"description":"The ID of the appinstallation you want the database to be replaced for.","in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseUserIds":{"additionalProperties":{"type":"string"},"description":"The IDs of the users of the database you want the old database to be replaced with.","type":"object"},"newDatabaseId":{"description":"The ID of the database you want the old database to be replaced with.","format":"uuid","type":"string"},"oldDatabaseId":{"description":"The ID of the database you want to be replaced.","format":"uuid","type":"string"}},"required":["oldDatabaseId","newDatabaseId"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The database has been linked."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Replace a MySQL Database with another MySQL Database.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/actions/copy":{"post":{"operationId":"app-request-appinstallation-copy","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"},"targetProjectId":{"format":"uuid","type":"string"}},"required":["description"],"type":"object"}}},"description":"Properties to copy an app installation.","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"The AppInstallation copy has been requested."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request a copy of an AppInstallation.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/status":{"get":{"operationId":"app-retrieve-status","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallationStatus"}}},"description":"The appInstallation status."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get runtime status belonging to an AppInstallation.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/databases/{databaseId}/users":{"put":{"operationId":"app-set-database-users","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"databaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["databaseUserIds"],"type":"object"}}},"description":"Properties to update for the specified system software.","required":true},"responses":{"204":{"description":"The database users have been set."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create linkage between an AppInstallation and DatabaseUsers.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/databases/{databaseId}":{"delete":{"operationId":"app-unlink-database","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"databaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The database has been unlinked."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove linkage between an AppInstallation and a Database.","tags":["App"]}},"/v2/articles/{articleId}":{"get":{"operationId":"article-get-article","parameters":[{"example":"PS23-PLUS-0004","in":"path","name":"articleId","required":true,"schema":{"type":"string"}},{"deprecated":true,"description":"not in use.","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"customerId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableArticle"}}},"description":"The Article object"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get an Article.","tags":["Article"]}},"/v2/articles":{"get":{"operationId":"article-list-articles","parameters":[{"deprecated":true,"description":"not in use.","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"customerId","required":false,"schema":{"type":"string"}},{"example":[],"in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"example":[],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"example":["PS23-PLUS-0004"],"in":"query","name":"articleIds","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"in":"query","name":"orderable","required":false,"schema":{"items":{"enum":["forbidden","internal","beta_testing","full","deprecated"],"type":"string"},"type":"array"}},{"example":"proSpace","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":1000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableArticle"},"type":"array"}}},"description":"Object containing the list of Articles","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List Articles.","tags":["Article"]}},"/v2/project-backups/{projectBackupId}/export":{"post":{"operationId":"backup-create-project-backup-export","parameters":[{"description":"ID of the ProjectBackup to export.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"format":{"description":"The desired format to export the ProjectBackup in.","enum":["tar","zip"],"example":"tar","type":"string"},"password":{"description":"Password to use to protect the archive.","example":"password","type":"string"}},"required":["format"],"type":"object"}}},"required":true},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Export a ProjectBackup for download.","tags":["Backup"]},"delete":{"operationId":"backup-delete-project-backup-export","parameters":[{"description":"ID if the ProjectBackup to delete the export of.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectBackupExport.","tags":["Backup"]}},"/v2/projects/{projectId}/backup-schedules":{"post":{"operationId":"backup-create-project-backup-schedule","parameters":[{"description":"ID of the Project to create a BackupSchedule for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the BackupSchedule.","type":"string"},"schedule":{"description":"Execution schedule in crontab notation.","example":"5 4 * * *","type":"string"},"ttl":{"description":"TTL of the BackupSchedule as time string.","example":"7d","type":"string"}},"required":["ttl","schedule"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupSchedule"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a BackupSchedule for a Project.","tags":["Backup"]},"get":{"operationId":"backup-list-project-backup-schedules","parameters":[{"description":"ID of the Project to list BackupSchedules for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupSchedule"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List BackupSchedules belonging to a Project.","tags":["Backup"]}},"/v2/projects/{projectId}/backups":{"post":{"operationId":"backup-create-project-backup","parameters":[{"description":"ID of the project to create a Backup for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the Backup.","example":"I'm a ProjectBackup","type":"string"},"expirationTime":{"description":"Time when to expire the Backup.","format":"date-time","type":"string"}},"required":["expirationTime"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackup"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Backup of a Project.","tags":["Backup"]},"get":{"operationId":"backup-list-project-backups","parameters":[{"description":"ID of the Project to get Backups for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackup"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Backups belonging to a Project.","tags":["Backup"]}},"/v2/project-backup-schedules/{projectBackupScheduleId}":{"delete":{"operationId":"backup-delete-project-backup-schedule","parameters":[{"description":"ID of the ProjectBackupSchedule to delete.","in":"path","name":"projectBackupScheduleId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectBackupSchedule.","tags":["Backup"]},"get":{"operationId":"backup-get-project-backup-schedule","parameters":[{"description":"ID of the ProjectBackupSchedule to retrieve.","in":"path","name":"projectBackupScheduleId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupSchedule"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectBackupSchedule.","tags":["Backup"]},"patch":{"operationId":"backup-update-project-backup-schedule","parameters":[{"description":"ID of the ProjectBackupSchedule to be updated.","in":"path","name":"projectBackupScheduleId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the ProjectBackupSchedule. Note that the description of isSystemBackup true items cannot be changed.","example":"I'm a ProjectBackupSchedule","type":"string"},"schedule":{"description":"Execution schedule in crontab notation. Note that the schedule of isSystemBackup true items must be daily once.","example":"5 4 * * *","type":"string"},"ttl":{"description":"TTL of the ProjectBackupSchedule as time string.","example":"7d","type":"string"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a ProjectBackupSchedule.","tags":["Backup"]}},"/v2/project-backups/{projectBackupId}":{"delete":{"operationId":"backup-delete-project-backup","parameters":[{"description":"ID of the ProjectBackup to be deleted.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectBackup.","tags":["Backup"]},"get":{"operationId":"backup-get-project-backup","parameters":[{"description":"ID of the ProjectBackup to retrieve.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackup"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectBackup.","tags":["Backup"]}},"/v2/project-backups/{projectBackupId}/description":{"patch":{"operationId":"backup-update-project-backup-description","parameters":[{"description":"ID of the ProjectBackup to change the description of.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the ProjectBackup.","example":"I'm a ProjectBackup","type":"string"}},"type":"object"}}},"required":true},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change the description of a ProjectBackup.","tags":["Backup"]}},"/v2/projects/{projectId}/registries":{"post":{"operationId":"container-create-registry","parameters":[{"description":"ID of the Project to create a Registry for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.CreateRegistry"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.Registry"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Registry.","tags":["Container"]},"get":{"operationId":"container-list-registries","parameters":[{"description":"ID of the Project to get Registries for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Filters the list depending on whether registry credentials exist.","in":"query","name":"hasCredentials","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.Registry"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Registries belonging to a Project.","tags":["Container"]}},"/v2/stacks/{stackId}":{"put":{"operationId":"container-declare-stack","parameters":[{"description":"ID of the Stack to create, update or delete Services or Volumes for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"services":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceDeclareRequest"},"type":"object"},"volumes":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeDeclareRequest"},"description":"Volumes belonging to a Stack. Removing results in a detach, delete must be explicit.","type":"object"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Declaratively create, update or delete Services or Volumes belonging to a Stack.","tags":["Container"]},"get":{"operationId":"container-get-stack","parameters":[{"description":"ID of the Stack to be retrieved.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Stack.","tags":["Container"]},"patch":{"operationId":"container-update-stack","parameters":[{"description":"ID of the Stack to create, update or delete Services or Volumes for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"services":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceRequest"},"type":"object"},"volumes":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeRequest"},"description":"Volumes belonging to a Stack. Removing results in a detach, delete must be explicit.","type":"object"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create, update or delete Services or Volumes belonging to a Stack.","tags":["Container"]}},"/v2/registries/{registryId}":{"delete":{"operationId":"container-delete-registry","parameters":[{"description":"ID if the Registry to be deleted.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Registry.","tags":["Container"]},"get":{"operationId":"container-get-registry","parameters":[{"description":"ID of the Registry to be retrieved.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.Registry"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Registry.","tags":["Container"]},"patch":{"operationId":"container-update-registry","parameters":[{"description":"ID of the Registry to be updated.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.UpdateRegistry"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Registry.","tags":["Container"]}},"/v2/stacks/{stackId}/volumes/{volumeId}":{"delete":{"operationId":"container-delete-volume","parameters":[{"description":"ID of the Stack the Volume belongs too. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Volume to be deleted.","in":"path","name":"volumeId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Volume belonging to a Stack.","tags":["Container"]},"get":{"operationId":"container-get-volume","parameters":[{"description":"ID of the Stack the Volume belongs too. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Volume to be retrieved.","in":"path","name":"volumeId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Volume belonging to a Stack.","tags":["Container"]}},"/v2/container-image-config":{"get":{"operationId":"container-get-container-image-config","parameters":[{"description":"The image reference to get a ContainerImageConfig for.","in":"query","name":"imageReference","required":true,"schema":{"example":"mysql","type":"string"}},{"description":"ID of the Project to get a ContainerImageConfig with belonging Registry credentials for.","in":"query","name":"useCredentialsForProjectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Registry to get a ContainerImageConfig with credentials for.","in":"query","name":"useCredentialsForRegistryId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Whether ai data should be generated during request. The request duration can take up to 15 seconds.","in":"query","name":"generateAiData","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfig"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ContainerImageConfig.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/logs":{"get":{"operationId":"container-get-service-logs","parameters":[{"description":"ID of the Stack the Service belongs to. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to get logs for.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get logs belonging to a Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}":{"get":{"operationId":"container-get-service","parameters":[{"description":"ID of the Stack the Service belongs to. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to be retrieved.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Service belonging to a Stack.","tags":["Container"]}},"/v2/projects/{projectId}/services":{"get":{"operationId":"container-list-services","parameters":[{"description":"ID of the Stack to list Services for.","in":"query","name":"stackId","schema":{"format":"uuid","type":"string"}},{"description":"ID of the Project to list Services for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceResponse"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Services belonging to a Project.","tags":["Container"]}},"/v2/projects/{projectId}/stacks":{"get":{"operationId":"container-list-stacks","parameters":[{"description":"ID of the Project to list Stacks for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Stacks belonging to a Project.","tags":["Container"]}},"/v2/projects/{projectId}/volumes":{"get":{"operationId":"container-list-volumes","parameters":[{"description":"ID of the Stack to list Volumes for.","in":"query","name":"stackId","schema":{"format":"uuid","type":"string"}},{"description":"ID of the Project to list Volumes for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeResponse"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Volumes belonging to a Project.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/recreate":{"post":{"operationId":"container-recreate-service","parameters":[{"description":"ID of the Stack to recreate a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to recreate.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Recreate a Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/restart":{"post":{"operationId":"container-restart-service","parameters":[{"description":"ID of the Stack to restart a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to restart.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Restart a started Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/start":{"post":{"operationId":"container-start-service","parameters":[{"description":"ID of the Stack to start a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to start.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Start a stopped Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/stop":{"post":{"operationId":"container-stop-service","parameters":[{"description":"ID of the Stack to stop a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to stop.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Stop a started Service.","tags":["Container"]}},"/v2/actions/validate-container-registry-uri":{"post":{"operationId":"container-validate-container-registry-uri","requestBody":{"content":{"application/json":{"schema":{"description":"The Registry URI to validate.","properties":{"registryUri":{"type":"string"}},"required":["registryUri"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"valid":{"type":"boolean"}},"required":["valid"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Validate a Registries' URI.","tags":["Container"]}},"/v2/registries/{registryId}/actions/validate-credentials":{"post":{"operationId":"container-validate-registry-credentials","parameters":[{"description":"ID if the Registry to validate the credentials for.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"valid":{"type":"boolean"}},"required":["valid"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Validate a Registries' credentials.","tags":["Container"]}},"/v2/contracts/{contractId}/items/{contractItemId}/termination":{"delete":{"operationId":"contract-cancel-contract-item-termination","parameters":[{"description":"The uuid of the Contract where the terminated ContractItem belongs to.","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the ContractItem for which the Termination is to be cancelled. Only works for ContractItem for which a Termination is stored.","example":"4d495bcd-4d4c-4bf9-b1c8-72b99a2ea7f2","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"isCancelled":{"type":"boolean"}}}}},"description":"Return the contractId and the contractItemId of the ContractItem where the Termination was cancelled."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Cancel the Termination for the referred ContractItem.","tags":["Contract"]},"post":{"operationId":"contract-terminate-contract-item","parameters":[{"example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"example":"19b2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"reason":{"description":"A reason for the Termination can be given as plain text.","example":"Server wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"description":"The termination date has to be a valid date according to activation and contract period of the ContractItem. If none given, the next possible termination date will be used.","format":"date-time","type":"string"}}}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"reason":{"example":"Server wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"format":"date-time","type":"string"}}}}},"description":"Return the contractId, the date on which the Termination will take place and the list of affected ContractItems."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Schedule the Termination of a ContractItem.","tags":["Contract"]}},"/v2/contracts/{contractId}/items/{contractItemId}/tariff-change":{"delete":{"operationId":"contract-cancel-contract-tariff-change","parameters":[{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the active ContractItem (not the one that would replace the old one after the TariffChange)\nfor which the TariffChange is to be cancelled. Only works for ContractItems for which a TariffChange is stored.\n","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"isCancelled":{"type":"boolean"}}}}},"description":"Returns the contractId of the Contract whose TariffChange was cancelled."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Cancel the TariffChange for the referred ContractItem.","tags":["Contract"]}},"/v2/contracts/{contractId}/termination":{"delete":{"operationId":"contract-cancel-contract-termination","parameters":[{"description":"The uuid of the Contract for which the Termination is to be cancelled. Only works for Contracts for which a\nTermination is stored.\n","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"isCancelled":{"type":"boolean"}}}}},"description":"Return the contractId of the Contract whose Termination was cancelled."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Cancel the Termination for the referred Contract.","tags":["Contract"]},"post":{"operationId":"contract-terminate-contract","parameters":[{"description":"The uuid of the Contract to be terminated.","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"reason":{"description":"A reason for the termination can be given as plain text.","example":"Projekt wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"description":"The termination date has to be a valid date according to activation and contract period of the base ContractItem. If none given, the next possible termination date will be used.","format":"date-time","type":"string"}}}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"itemsScheduledForTermination":{"items":{"format":"uuid","type":"string"},"type":"array"},"reason":{"example":"Projekt wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"format":"date","type":"string"}}}}},"description":"Returns the contractId, the date on which the Termination will take place and the list of affected ContractItems."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Schedule the Termination of a Contract.","tags":["Contract"]}},"/v2/contracts/{contractId}/base-items":{"get":{"operationId":"contract-get-base-item-of-contract","parameters":[{"description":"The uuid of the Contract from which the BaseItem is to be issued.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"}}},"description":"The BaseItem of the Contract."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the BaseItem of the Contract with the given ID.","tags":["Contract"]}},"/v2/certificates/{certificateId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-certificate","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Certificate."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Certificate.","tags":["Contract"]}},"/v2/domains/{domainId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-domain","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Domain."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Domain.","tags":["Contract"]}},"/v2/projects/{projectId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-project","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Project."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Project.","tags":["Contract"]}},"/v2/servers/{serverId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-server","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Server."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Server.","tags":["Contract"]}},"/v2/contracts/{contractId}/items/{contractItemId}":{"get":{"operationId":"contract-get-detail-of-contract-item","parameters":[{"description":"The uuid of the Contract where the desired ContractItem belongs to.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the ContractItem to be returned.","example":"19b3e88e-c656-4440-8b89-efbf881b9c6f","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the ContractItem with the given ID.","tags":["Contract"]}},"/v2/contracts/{contractId}":{"get":{"operationId":"contract-get-detail-of-contract","parameters":[{"description":"The uuid of the Contract to be returned.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Returns the Contract with the given ID.","tags":["Contract"]}},"/v2/contracts/{contractId}/items/{contractItemId}/next-termination-dates":{"get":{"operationId":"contract-get-next-termination-date-for-item","parameters":[{"description":"The uuid of the Contract where the desired ContractItem belongs to.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the ContractItem whose next TerminationDate is to be displayed.","example":"19b3e88e-c656-4440-8b89-efbf881b9c6f","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"nextTerminationDate":{"format":"date-time","type":"string"}},"required":["contractItemId","nextTerminationDate"]}}},"description":"Return the next possible TerminationDate for the ContractItem as date."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the next TerminationDate for the ContractItem with the given ID.","tags":["Contract"]}},"/v2/customers/{customerId}/contracts":{"get":{"operationId":"contract-list-contracts","parameters":[{"description":"The uuid of the Customer from whom all Contracts are to be returned.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}},{"example":1000,"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"},"type":"array"}}},"description":"Return the Contracts that belong to the Customer."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return a list of Contracts for the given Customer.","tags":["Contract"]}},"/v2/contributors/{contributorId}/extensions/{extensionId}/extension-instances/{extensionInstanceId}/secret":{"put":{"operationId":"contributor-rotate-secret-for-extension-instance","parameters":[{"in":"path","name":"contributorId","required":true,"schema":{"type":"string"}},{"in":"path","name":"extensionId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"allowWebhookFailure":{"type":"boolean"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"secret":{"type":"string"},"webhookResult":{"properties":{"failure":{"type":"boolean"},"statusCode":{"description":"The status code returned by the external application.","type":"string"}},"required":["failure"],"type":"object"}},"required":["secret","webhookResult"],"type":"object"}}},"description":"Secret rotated successfully."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Rotate the secret for an extension instance.","tags":["Marketplace"]}},"/v2/conversations":{"post":{"operationId":"conversation-create-conversation","requestBody":{"content":{"application/json":{"schema":{"properties":{"categoryId":{"type":"string"},"mainUserId":{"format":"uuid","type":"string"},"relatedTo":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"sharedWith":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.ShareableAggregateReference"},"title":{"type":"string"}},"type":"object"}}},"description":"","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"}},"required":["conversationId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Create a conversation.","tags":["Conversation"]},"get":{"operationId":"conversation-list-conversations","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Conversation"},"type":"array"}}},"description":"The conversations list ordered by creation date"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get all conversation the authenticated user has created or has access to.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/messages":{"post":{"operationId":"conversation-create-message","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"fileIds":{"items":{"format":"uuid","type":"string"},"type":"array"},"messageContent":{"maxLength":8000,"type":"string"}}}}},"description":"","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"},"messageId":{"format":"uuid","type":"string"}},"required":["conversationId","messageId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Send a new message in the conversation.","tags":["Conversation"]},"get":{"operationId":"conversation-list-messages-by-conversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Message"},{"$ref":"#/components/schemas/de.mittwald.v1.conversation.StatusUpdate"}]},"type":"array"}}},"description":""},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get all message of the conversation.","tags":["Conversation"]}},"/v2/conversation-categories/{categoryId}":{"get":{"operationId":"conversation-get-category","parameters":[{"in":"path","name":"categoryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Category"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a specific conversation category.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/members":{"get":{"operationId":"conversation-get-conversation-members","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.ConversationMembers"}}},"description":"The members of the conversation.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get members of a support conversation.","tags":["Conversation"]}},"/v2/customers/{customerId}/conversation-preferences":{"get":{"operationId":"conversation-get-conversation-preferences-of-customer","parameters":[{"in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.ConversationPreferences"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get preferences for customer conversations.","tags":["Conversation"]}},"/v2/conversations/{conversationId}":{"get":{"operationId":"conversation-get-conversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Conversation"}}},"description":"The metadata of the conversation.\nDoes not contain messages send in the conversation.\nUse [`/v2/conversations/{conversationId}/messages`](#/Conversation/conversation-service-get-messages-by-conversation-v2) to get the messages.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a support conversation.","tags":["Conversation"]},"put":{"operationId":"conversation-update-conversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"categoryId":{"format":"uuid","type":"string"},"relatedTo":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"title":{"type":"string"}}}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"}},"required":["conversationId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update the basic properties of the conversation.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/files/{fileId}/access-token":{"get":{"operationId":"conversation-get-file-access-token","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"fileId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"accessToken":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["accessToken","expiresAt"],"type":"object"}}},"description":"The file access token required to access the file linked with the conversation.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request an access token for the File belonging to the Conversation.","tags":["Conversation"]}},"/v2/conversation-categories":{"get":{"operationId":"conversation-list-categories","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Category"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get all conversation categories.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/files":{"post":{"operationId":"conversation-request-file-upload","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"},"rules":{"properties":{"maxSizeInKB":{"type":"integer"},"mimeTypes":{"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"},"uploadToken":{"type":"string"}},"required":["conversationId","uploadToken","rules"],"type":"object"}}},"description":"The upload token with additional rules describing what files can be uploaded using this token.\nThe token can be used with [`POST /v2/files`](#/Files/file-service-file-create) to upload a file that is\nlinked with the conversation.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request a file upload token for the conversation.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/status":{"put":{"operationId":"conversation-set-conversation-status","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"enum":["open","answered","closed"],"type":"string"}},"required":["status"]}}},"description":"The object containing the new status of the conversation.\nThe statuses `open` and `answered` are displayed identically to the users as an open\n(unresolved) conversation. A conversation with the status `closed` is a solved issue.\nClosed conversations can be reopened by setting the status to `open` or by sending a\nmessage in the conversation.\n","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"}},"required":["conversationId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update the status of a conversation.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/messages/{messageId}":{"patch":{"operationId":"conversation-update-message","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"messageId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"messageContent":{"type":"string"}}}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"messageId":{"format":"uuid","type":"string"}},"required":["messageId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update the content of the message","tags":["Conversation"]}},"/v2/projects/{projectId}/cronjobs":{"post":{"operationId":"cronjob-create-cronjob","parameters":[{"description":"ID of the Project you want to create a Cronjob for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobRequest"}}},"description":"cronjob"},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Cronjob.","tags":["Cronjob"]},"get":{"operationId":"cronjob-list-cronjobs","parameters":[{"description":"ID of the Project for which to list Cronjobs for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.Cronjob"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Cronjobs belonging to a Project.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}/executions":{"post":{"operationId":"cronjob-create-execution","parameters":[{"description":"ID of the Cronjob to trigger.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"description":"execution-id","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Trigger a Cronjob.","tags":["Cronjob"]},"get":{"operationId":"cronjob-list-executions","parameters":[{"description":"ID of the Cronjob for which to list CronjobExecutions for.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"since","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"until","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"status","required":false,"schema":{"example":"Complete","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobExecution"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CronjobExecutions belonging to a Cronjob.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}":{"delete":{"operationId":"cronjob-delete-cronjob","parameters":[{"description":"ID of the Cronjob to delete.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Cronjob.","tags":["Cronjob"]},"get":{"operationId":"cronjob-get-cronjob","parameters":[{"description":"ID of the Cronjob to be retrieved.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.Cronjob"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Cronjob.","tags":["Cronjob"]},"patch":{"operationId":"cronjob-update-cronjob","parameters":[{"description":"ID of the Cronjob to be updated.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"},"description":{"example":"i am a cronjob","type":"string"},"destination":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobCommand"}]},"email":{"format":"email","type":"string"},"interval":{"example":"*/5 * * * *","type":"string"},"timeout":{"maximum":86400,"minimum":1,"type":"number"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Cronjob.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}/executions/{executionId}":{"get":{"operationId":"cronjob-get-execution","parameters":[{"description":"ID of the CronjobExecution to be retrieved.","example":"cron-bd26li-28027320","in":"path","name":"executionId","required":true,"schema":{"type":"string"}},{"in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobExecution"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CronjobExecution.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}/app-id":{"patch":{"operationId":"cronjob-update-cronjob-app-id","parameters":[{"description":"ID of the Cronjob to update.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"appId":{"format":"uuid","type":"string"}},"required":["appId"],"type":"object"}}},"description":"ID of the app to set."},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Cronjob's app id.","tags":["Cronjob"]}},"/v2/customer-invites/{customerInviteId}/actions/accept":{"post":{"operationId":"customer-accept-customer-invite","parameters":[{"description":"ID of the CustomerInvite to be accepted.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"invitationToken":{"description":"Token contained in the invite for authentication.","type":"string"}},"type":"object"}}},"required":true},"responses":{"204":{"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Accept a CustomerInvite.","tags":["Customer"]}},"/v2/customer/{customerId}/invites":{"post":{"operationId":"customer-create-customer-invite","parameters":[{"description":"ID of the Customer to create a CustomerInvite for.","in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mailAddress":{"description":"Mail-address of the person to be invited.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the resulting CustomerMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the CustomerInvite.","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"}},"required":["mailAddress","role"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a CustomerInvite.","tags":["Customer"]}},"/v2/customers":{"post":{"operationId":"customer-create-customer","requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Contact"},"vatId":{"type":"string"}},"required":["name"],"type":"object"}}},"description":"The customer to create","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"},"customerNumber":{"type":"string"},"name":{"type":"string"}},"required":["customerId","name","customerNumber"],"type":"object"}}},"description":"The new customer"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a new customer profile.","tags":["Customer"]},"get":{"operationId":"customer-list-customers","parameters":[{"description":"filter to list only customers where the authenticated user has the specified role. Can be a comma seperated list.","in":"query","name":"role","required":false,"schema":{"type":"string"}},{"description":"text search for customer number, customer name and id. Simple regular expressions are allowed.","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":1000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Customer"},"type":"array"}}},"description":"The list of customers the authenticated user is a member for","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all customer profiles the authenticated user has access to.","tags":["Customer"]}},"/v2/customers/{customerId}/recommendation-suggestions":{"post":{"operationId":"customer-create-recommendation-suggestion","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"suggestion":{"example":"a mittwald t-shirt","type":"string"}},"required":["suggestion"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"customerId":{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","type":"string"}},"type":"object"}}},"description":"The suggestion has been made."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Lets us know your idea for our recommendation programm.","tags":["Customer"]}},"/v2/customers/{customerId}/wallet":{"post":{"operationId":"customer-create-wallet","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","type":"string"}},"type":"object"}}},"description":"The Wallet has been created."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create the Wallet for the Customer.","tags":["Customer"]},"get":{"operationId":"customer-get-wallet","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","type":"string"},"points":{"example":10,"type":"number"},"recommendationCode":{"example":"m-123456","type":"string"},"walletId":{"example":"32485364-7500-4591-b5cb-4e25e4bd1f30","type":"string"}},"required":["customerId","walletId","points"],"type":"object"}}},"description":"The Wallet of the Customer"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Gets the Wallet of the Customer.","tags":["Customer"]}},"/v2/customer-invites/{customerInviteId}/actions/decline":{"post":{"operationId":"customer-decline-customer-invite","parameters":[{"description":"ID of the CustomerInvite to be declined.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Decline a CustomerInvite.","tags":["Customer"]}},"/v2/customer-invites/{customerInviteId}":{"delete":{"operationId":"customer-delete-customer-invite","parameters":[{"description":"ID if the CustomerInvite to be deleted.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a CustomerInvite.","tags":["Customer"]},"get":{"operationId":"customer-get-customer-invite","parameters":[{"description":"ID of the CustomerInvite to be retrieved.","in":"path","name":"customerInviteId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CustomerInvite.","tags":["Customer"]}},"/v2/customer-memberships/{customerMembershipId}":{"delete":{"operationId":"customer-delete-customer-membership","parameters":[{"description":"ID of the CustomerMembership to be deleted.","in":"path","name":"customerMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a CustomerMembership.","tags":["Customer"]},"get":{"operationId":"customer-get-customer-membership","parameters":[{"description":"ID of the CustomerMembership to retrieve.","in":"path","name":"customerMembershipId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerMembership"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CustomerMembership.","tags":["Customer"]},"patch":{"operationId":"customer-update-customer-membership","parameters":[{"description":"ID of the CustomerMembership to be updated.","in":"path","name":"customerMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"Time the CustomerMembership should expire at.","format":"date-time","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"}},"required":["role"],"type":"object"}}},"required":true},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a CustomerMembership.","tags":["Customer"]}},"/v2/customers/{customerId}":{"delete":{"operationId":"customer-delete-customer","parameters":[{"description":"The uuid of the customer to be deleted. Only customer without active contracts or unpaid invoices can be deleted.","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"}},"type":"object"}}},"description":"Returns the uuid of the deleted customer"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a customer profile.","tags":["Customer"]},"get":{"operationId":"customer-get-customer","parameters":[{"description":"The uuid of the customer to be returned","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Customer"}}},"description":"The customer object"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a customer profile.","tags":["Customer"]},"put":{"operationId":"customer-update-customer","parameters":[{"in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"},"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Contact"},"vatId":{"type":"string"}},"required":["customerId","name"],"type":"object"}}},"description":"The customer object to update","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"},"customerNumber":{"type":"string"},"name":{"type":"string"}},"required":["customerId","name","customerNumber"],"type":"object"}}},"description":"Name and id of the updated customer"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a customer profile.","tags":["Customer"]}},"/v2/customer-token-invite":{"get":{"operationId":"customer-get-customer-token-invite","parameters":[{"description":"Token of the CustomerInvite to be retrieved.","in":"header","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"}}},"description":""},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CustomerInvite by token.","tags":["Customer"]}},"/v2/customers/{customerId}/legally-competent":{"get":{"operationId":"customer-is-customer-legally-competent","parameters":[{"description":"The uuid of the customer to be checked","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"isLegallyCompetent":{"type":"boolean"}},"type":"object"}}},"description":"Check if customer is allowed to order a paid item."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check if the customer profile has a valid contract partner configured.","tags":["Customer"]}},"/v2/customer/{customerId}/actions/leave":{"post":{"operationId":"customer-leave-customer","parameters":[{"description":"ID of the Customer to be left.","in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Leave a Customer.","tags":["Customer"]}},"/v2/customer-invites":{"get":{"operationId":"customer-list-customer-invites","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CustomerInvites belonging to the executing user.","tags":["Customer"]}},"/v2/customer-memberships":{"get":{"operationId":"customer-list-customer-memberships","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CustomerMemberships belonging to the executing user.","tags":["Customer"]}},"/v2/customers/{customerId}/invites":{"get":{"operationId":"customer-list-invites-for-customer","parameters":[{"description":"ID of the Customer to list invites for.","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Invites belonging to a Customer.","tags":["Customer"]}},"/v2/customers/{customerId}/memberships":{"get":{"operationId":"customer-list-memberships-for-customer","parameters":[{"description":"Customer to list memberships for.","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Memberships belonging to a Customer.","tags":["Customer"]}},"/v2/customers/{customerId}/avatar":{"delete":{"operationId":"customer-remove-avatar","parameters":[{"description":"The uuid of the customer whose avatar is to be deleted","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Avatar removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Access Token missing or invalid"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove the avatar picture of the customer profile.","tags":["Customer"]},"post":{"operationId":"customer-request-avatar-upload","parameters":[{"description":"The uuid of the customer for whom an avatar upload is to be requested","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"properties":{"maxSizeInKB":{"type":"integer"},"mimeTypes":{"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"}},"required":["refId","rules"],"type":"object"}}},"description":"Avatar request was successful. Use the `refId` to upload your avatar to the file service."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Access Token missing or invalid"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Internal server error"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a new avatar upload for the customer profile.","tags":["Customer"]}},"/v2/customer-invites/{customerInviteId}/actions/resend":{"post":{"operationId":"customer-resend-customer-invite-mail","parameters":[{"description":"ID of the CustomerInvite to resend the mail for.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Resend the mail for a CustomerInvite.","tags":["Customer"]}},"/v2/projects/{projectId}/mysql-databases":{"post":{"operationId":"database-create-mysql-database","parameters":[{"description":"ID of the Project to create a MySQLDatabase for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"database":{"$ref":"#/components/schemas/de.mittwald.v1.database.CreateMySqlDatabase"},"user":{"$ref":"#/components/schemas/de.mittwald.v1.database.CreateMySqlUserWithDatabase"}},"required":["database","user"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["id","userId"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a MySQLDatabase with a MySQLUser.","tags":["Database"]},"get":{"operationId":"database-list-mysql-databases","parameters":[{"description":"ID of the Project to list MySQLDatabases for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlDatabase"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MySQLDatabases belonging to a Project.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}/users":{"post":{"operationId":"database-create-mysql-user","parameters":[{"description":"ID of the MySQLDatabase to create a MySQLUser for.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.CreateMySqlUser"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a MySQLUser.","tags":["Database"]},"get":{"operationId":"database-list-mysql-users","parameters":[{"description":"ID of the MySQLDatabase to list Users for.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlUser"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MySQLUsers belonging to a Database.","tags":["Database"]}},"/v2/projects/{projectId}/redis-databases":{"post":{"operationId":"database-create-redis-database","parameters":[{"description":"ID of the Project to create a RedisDatabase for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"example":{"description":"My first RedisDatabase!","version":"7.0"},"properties":{"configuration":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabaseConfiguration"},"description":{"description":"A description for the database.","type":"string"},"version":{"description":"The version the database should use.","type":"string"}},"required":["description","version"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a RedisDatabase.","tags":["Database"]},"get":{"operationId":"database-list-redis-databases","parameters":[{"description":"ID of the Project to list RedisDatabases for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabase"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List RedisDatabases belonging to a Project.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}":{"delete":{"operationId":"database-delete-mysql-database","parameters":[{"description":"ID of the MySQLDatabase to be deleted.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a MySQLDatabase.","tags":["Database"]},"get":{"operationId":"database-get-mysql-database","parameters":[{"description":"ID of the MySQLDatabase to be retrieved.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlDatabase"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MySQLDatabase.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}":{"delete":{"operationId":"database-delete-mysql-user","parameters":[{"description":"ID of the MySQLUser to delete.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a MySQLUser.","tags":["Database"]},"get":{"operationId":"database-get-mysql-user","parameters":[{"description":"ID of the MySQLUser to be retrieved.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlUser"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MySQLUser.","tags":["Database"]},"put":{"operationId":"database-update-mysql-user","parameters":[{"description":"ID of the MySQLUser to update.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"description":{"type":"string"},"externalAccess":{"type":"boolean"}},"required":["description","accessLevel"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLUser.","tags":["Database"]}},"/v2/redis-databases/{redisDatabaseId}":{"delete":{"operationId":"database-delete-redis-database","parameters":[{"description":"ID of the RedisDatabase to delete.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a RedisDatabase.","tags":["Database"]},"get":{"operationId":"database-get-redis-database","parameters":[{"description":"ID of the RedisDatabase to retrieve.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabase"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a RedisDatabase.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/actions/disable":{"post":{"operationId":"database-disable-mysql-user","parameters":[{"description":"ID of the MySQLUser to disable.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable a MySQLUser.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/actions/enable":{"post":{"operationId":"database-enable-mysql-user","parameters":[{"description":"ID of the MySQLUser to enable.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Enable a MySQLUser.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/php-my-admin-url":{"get":{"operationId":"database-get-mysql-user-php-my-admin-url","parameters":[{"description":"ID of the MySQLUser for which to get the URL for.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.PhpMyAdminURL"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MySQLUser's PhpMyAdmin-URL.","tags":["Database"]}},"/v2/mysql-charsets":{"get":{"operationId":"database-list-mysql-charsets","parameters":[{"description":"ID of the MySQLVersion for which to list the available character sets in the format `mysqlXY`.","in":"query","name":"version","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlCharacterSettings"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List available MySQL character sets and collations, optionally filtered by a MySQLVersion.","tags":["Database"]}},"/v2/mysql-versions":{"get":{"operationId":"database-list-mysql-versions","parameters":[{"description":"ID of the Project to list available MySQLVersions for.","in":"query","name":"projectId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlVersion"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MySQLVersions.","tags":["Database"]}},"/v2/redis-versions":{"get":{"operationId":"database-list-redis-versions","parameters":[{"description":"ID of the Project to list available RedisVersions for.","in":"query","name":"projectId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisVersion"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List RedisVersions.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}/default-charset":{"patch":{"operationId":"database-update-mysql-database-default-charset","parameters":[{"description":"ID of the MySQLDatabase to update.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"characterSettings":{"$ref":"#/components/schemas/de.mittwald.v1.database.characterSettings"}},"required":["characterSettings"]}}},"description":"The default character settings to be used for the MySQLDatabase."},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLDatabase's default character settings.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}/description":{"patch":{"operationId":"database-update-mysql-database-description","parameters":[{"description":"ID of the MySQLDatabase to update.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLDatabase's description.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/password":{"patch":{"operationId":"database-update-mysql-user-password","parameters":[{"description":"ID of the MySQLUser for which to update the password for.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLUser's password.","tags":["Database"]}},"/v2/redis-databases/{redisDatabaseId}/configuration":{"patch":{"operationId":"database-update-redis-database-configuration","parameters":[{"description":"ID of the RedisDatabase to update.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"configuration":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabaseConfiguration"}}}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a RedisDatabase's configuration.","tags":["Database"]}},"/v2/redis-databases/{redisDatabaseId}/description":{"patch":{"operationId":"database-update-redis-database-description","parameters":[{"description":"ID of the RedisDatabase to update.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a RedisDatabase's description.","tags":["Database"]}},"/v2/appinstallations/{appInstallationId}/databases":{"put":{"operationId":"deprecated-app-link-database","deprecated":true,"description":"This route is deprecated. Use PATCH /v2/app-installations/{appInstallationId}/database instead.","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseId":{"format":"uuid","type":"string"},"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"},"purpose":{"enum":["primary","cache","custom"],"type":"string"}},"required":["databaseId","purpose"],"type":"object"}}},"description":"Properties for linking a Database","required":true},"responses":{"204":{"description":"The database has been linked."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create linkage between an AppInstallation and a MySql-Database.","tags":["App"]}},"/v2/domains/{domainId}/screenshots/newest":{"get":{"operationId":"deprecated-domain-get-screenshot-for-domain","deprecated":true,"parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"domainName":{"example":"example.com","type":"string"},"path":{"example":"/var/www","type":"string"}},"required":["domainName","path"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"references":{"items":{"type":"string"},"type":"array"}},"type":"object"}}},"description":"The References."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get File Service Reference for a Screenshot of a domain.","tags":["Domain"]}},"/v2/file-token-rules/{token}":{"get":{"operationId":"deprecated-file-get-file-token-rules","deprecated":true,"description":"Deprecated by `GET /v2/file-upload-tokens/{fileUploadToken}/rules`.","parameters":[{"description":"Token of the Token's upload rules to be retrieved.","in":"path","name":"token","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a Token's upload rules.","tags":["File"]}},"/v2/file-type-rules/{name}":{"get":{"operationId":"deprecated-file-get-file-type-rules","deprecated":true,"description":"Deprecated by `GET /v2/file-upload-types/{fileUploadType}/rules`.","parameters":[{"description":"Name of the Type's upload rules to be retrieved.","in":"path","name":"name","required":true,"schema":{"enum":["avatar","conversation"],"example":"avatar","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a Type's upload rules.","tags":["File"]}},"/v2/customers/{customerId}/invoices/{invoiceId}":{"get":{"operationId":"deprecated-invoice-detail-of-invoice","deprecated":true,"description":"This route is deprecated. Use /v2/invoices/{invoiceId} instead.","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"invoiceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Invoice"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get details of an Invoice.","tags":["Contract"]}},"/v2/newsletter-subscriptions":{"post":{"operationId":"newsletter-subscribe-user","requestBody":{"content":{"application/json":{"schema":{"properties":{"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"active":{"example":false,"type":"boolean"},"email":{"example":"a.lovelace@example.com","type":"string"},"registered":{"example":true,"type":"boolean"}},"required":["email","active","registered"],"type":"object"}}},"description":"Subscription information email has been sent."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Subscribe a user to the mStudio newsletter.","tags":["Notification"]}},"/v2/signup/email":{"put":{"operationId":"deprecated-user-change-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The new Email-Address.","example":"ada.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Your email has been added, but needs to be verfied. Check your mails and\ncall /email/verify with the verification code sent with the mail.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailInUse\n * EmailBlacklisted\n * EmailMXInvalid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your Email-Address.","tags":["User"],"deprecated":true}},"/v2/signup/password/reset/confirm":{"post":{"operationId":"deprecated-user-confirm-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"description":"The new password.","type":"string"},"token":{"description":"Password reset token","maxLength":6,"minLength":6,"type":"string"},"userId":{"description":"UserId of the user to reset the password for.","format":"uuid","type":"string"}},"required":["userId","token","password"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Password reset was successful."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongPasswordResetToken\n * EmailAddressNotVerified\n * PasswordIsLeaked\n * ValidationError\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Confirm password reset.","tags":["User"],"deprecated":true}},"/v2/users/self/issues":{"post":{"operationId":"deprecated-user-create-issue","deprecated":true,"description":"Has been merged to POST_create-user-feedback","requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"Detailed report of the issue.","maxLength":5000,"type":"string"},"origin":{"description":"Origin of the issue.","type":"string"},"subject":{"description":"Descriptive subject of the report.","type":"string"},"type":{"description":"Type of feedback.","enum":["feedback","bug"],"type":"string"},"vote":{"description":"Feedback rating from bad to good.","maximum":10,"minimum":0,"type":"number"}},"required":["type","message"],"type":"object"}}},"description":"Submit an issue."},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Issue successfully submitted."},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a new issue.","tags":["User"]}},"/v2/signup/token/api/{apiTokenId}":{"delete":{"operationId":"deprecated-user-delete-api-token","parameters":[{"description":"The uuid of an ApiToken.","in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The `ApiToken` has been deleted."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * ValidationError\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Deletes an ApiToken.","tags":["User"],"deprecated":true},"put":{"operationId":"deprecated-user-edit-api-token","parameters":[{"in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"Api Token for ...","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description"],"type":"object"}}},"required":true},"responses":{"200":{"description":"ApiToken was updated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an existing `ApiToken`.","tags":["User"],"deprecated":true}},"/v2/signup/ssh/{sshKeyId}":{"delete":{"operationId":"deprecated-user-delete-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The ssh-key was removed."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove a ssh-key.","tags":["User"],"deprecated":true},"put":{"operationId":"deprecated-user-edit-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"comment":{"example":"a.lovelace@example.com","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["comment"],"type":"object"}}},"required":true},"responses":{"200":{"description":"The ssh-key has been edited."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Edit a stored ssh-key.","tags":["User"],"deprecated":true}},"/v2/signup/mfa":{"delete":{"operationId":"deprecated-user-disable-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Multi Factor Authentication was disabled."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * MultiFactorCodeNotValid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable Multi Factor Authentication.","tags":["User"],"deprecated":true}},"/v2/signup/password/reset":{"post":{"operationId":"deprecated-user-init-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"Email address to reset the password for.","example":"a.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"description":"The password reset process has been initialized and an email with confirmation code has been sent.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Initialize password reset process.","tags":["User"],"deprecated":true}},"/v2/signup/logout":{"put":{"operationId":"deprecated-user-logout","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"description":"You've been logged out. The access token has been removed and invalidated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate session and invalidate access token.","tags":["User"],"deprecated":true}},"/v2/signup/email/resend":{"post":{"operationId":"deprecated-user-resend-verification-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"example":"ada.lovelace@example.com","format":"email","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"204":{"description":"New Email-Address verification mail was sent."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Resend the Email-Address verification email.","tags":["User"],"deprecated":true}},"/v2/user/{userId}/avatar":{"delete":{"operationId":"deprecated-user-service-avatar-remove","deprecated":true,"description":"Use users-remove-avatar-v2 instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Avatar removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove Avatar","tags":["User"]},"post":{"operationId":"deprecated-user-service-avatar-request-upload","deprecated":true,"description":"Use POST_request-avatar-upload instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"properties":{"maxSizeInKB":{"type":"integer"},"mimeTypes":{"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"}},"required":["refId","rules"],"type":"object"}}},"description":"Avatar upload request was successful. Use the `refId` to upload your avatar to the /v2/files/:refId"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a new avatar upload","tags":["User"]}},"/v2/user/feedback":{"post":{"operationId":"deprecated-user-service-feedback-create","deprecated":true,"description":"Use POST_create-user-feedback instead","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"maxLength":5000,"type":"string"},"origin":{"maxLength":1000,"type":"string"},"subject":{"maxLength":100,"minLength":1,"type":"string"},"vote":{"maximum":10,"minimum":0,"type":"number"}},"required":["origin","subject","vote"],"type":"object"}}},"description":"The user feedback"},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Submit user feedback","tags":["User"]},"get":{"operationId":"deprecated-user-service-feedback-list","deprecated":true,"description":"Use GET_list-user-feedback instead","parameters":[{"in":"query","name":"subject","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.user.UserFeedback"},"type":"array"}}},"description":"A list of feedback submitted by the user"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Returns your submitted feedback","tags":["User"]}},"/v2/user/issues":{"post":{"operationId":"deprecated-user-service-issue-new","deprecated":true,"description":"Has been merged to POST_create-user-feedback","requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"maxLength":1000000,"type":"string"},"origin":{"type":"string"},"subject":{"type":"string"},"type":{"enum":["feedback","bug"],"type":"string"}},"required":["type","message"],"type":"object"}}},"description":"Submit an issue."},"responses":{"201":{"description":"Issue created"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"create a new issue","tags":["User"]}},"/v2/user/{userId}":{"put":{"operationId":"deprecated-user-service-personal-information-update","deprecated":true,"description":"Use PUT_update-personal-information instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Your personal information has been changed"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your personal information","tags":["User"]},"get":{"operationId":"deprecated-user-service-user-get","deprecated":true,"description":"Use GET_get-user instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.user.User"}}},"description":"The Profile"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get profile information for the specified user if the user is related to the executing user","tags":["User"]}},"/v2/user/settings":{"get":{"operationId":"deprecated-user-service-personalized-settings-get","deprecated":true,"description":"Use GET-personalized-settings instead","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"type":"string"}},"type":"object"}}},"description":"The settingsString"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get personalized settings for the user executing the request","tags":["User"]},"put":{"operationId":"deprecated-user-service-personalized-settings-update","deprecated":true,"description":"Use PUT_update-personalized-settings instead","requestBody":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"type":"string"}},"required":["settingsString"],"type":"object"}}},"required":true},"responses":{"204":{"description":"PersonalSettings have been updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"update personalized settings","tags":["User"]}},"/v2/user/{userId}/phone":{"post":{"operationId":"deprecated-user-service-phone-number-add","deprecated":true,"description":"Use POST_add-phone-number instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"phoneNumber":{"type":"string"}},"required":["phoneNumber"],"type":"object"}}},"required":true},"responses":{"204":{"description":"PhoneNumber was added successfully. Now, it can be verified under /v2/user/{userId}/phone/verify"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Add phone number and init verification process","tags":["User"]},"delete":{"operationId":"deprecated-user-service-phone-number-remove","deprecated":true,"description":"Use DELETE_remove-phone-number instead","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"PhoneNumber removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"remove your PhoneNumber","tags":["User"]}},"/v2/user/{userId}/phone/verify":{"post":{"operationId":"deprecated-user-service-phone-number-verify","deprecated":true,"description":"Use POST_verify-phone-number instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"example":"123456","type":"string"},"phoneNumber":{"example":"+491701234567","type":"string"}},"required":["phoneNumber","code"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The PhoneNumber has been verified"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify phone number","tags":["User"]}},"/v2/user":{"get":{"operationId":"deprecated-user-service-user-get-own","deprecated":true,"description":"Use GET_get-user instead","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.user.User"}}},"description":"The Profile"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get profile information for the executing user","tags":["User"]}},"/v2/signup/sessions":{"delete":{"operationId":"deprecated-user-terminate-all-sessions","responses":{"200":{"description":"All sessions terminated."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate all sessions, except the current session.","tags":["User"],"deprecated":true}},"/v2/signup/sessions/{tokenId}":{"delete":{"operationId":"deprecated-user-terminate-session","parameters":[{"description":"TokenId to identify the concrete session.","in":"path","name":"tokenId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Session terminated."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate a specific Session.","tags":["User"],"deprecated":true}},"/v2/signup/profile":{"put":{"operationId":"deprecated-user-update-account","requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Account has been updated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update your account information.","tags":["User"],"deprecated":true}},"/v2/signup/email/verify":{"post":{"operationId":"deprecated-user-verify-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The Email-Address to verify.","example":"ada.lovelace@example.com","format":"email","type":"string"},"token":{"description":"The token found in the verification email.","example":"123456","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Email has been verified."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongVerificationToken\n * EmailNotFound\n * WrongVerificationToken\n * EmailAddressAlreadyVerified\n"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify an added Email-Address.","tags":["User"],"deprecated":true}},"/v2/dns-zones":{"post":{"operationId":"dns-create-dns-zone","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"format":"idn-dnsname","type":"string"},"parentZoneId":{"format":"uuid","type":"string"}},"required":["name","parentZoneId"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"The ID of the created DNSZone."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a DNSZone.","tags":["Domain"]}},"/v2/dns-zones/{dnsZoneId}":{"delete":{"operationId":"dns-delete-dns-zone","parameters":[{"description":"The ID of the DNSZone to be deleted.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a DNSZone.","tags":["Domain"]},"get":{"operationId":"dns-get-dns-zone","parameters":[{"description":"The ID of the zone to be retrieved.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.dns.Zone"}}},"description":"The requested DNSZone."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a DNSZone.","tags":["Domain"]}},"/v2/projects/{projectId}/dns-zones":{"get":{"operationId":"dns-list-dns-zones","parameters":[{"description":"ID of the Project to list DNSZones for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.Zone"},"type":"array"}}},"description":"An array of DNSZone objects."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List DNSZones belonging to a Project.","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/acombined/custom":{"put":{"operationId":"dns-record-a-set-custom-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedACustom"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates a-records for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/acombined/managed/ingress":{"post":{"operationId":"dns-record-a-set-managed-by-ingress-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone you want to set managed","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{},"type":"object"}}}},"responses":{"204":{"content":{"application/json":{"schema":{"properties":{"ingressId":{"format":"uuid","type":"string"}},"required":["ingressId"],"type":"object"}}},"description":"zone set managed by ingressId"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"set a-records managed by ingress for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/cname":{"put":{"operationId":"dns-record-cname-set-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAMEComponent"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates cname-record for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/mx/custom":{"put":{"operationId":"dns-record-mx-set-custom-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXCustom"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates mx-records for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/mx/managed":{"post":{"operationId":"dns-record-mx-set-managed-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object"}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"sets mx-records to managed for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/srv":{"put":{"operationId":"dns-record-srv-set-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVComponent"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates srv-records for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/txt":{"put":{"operationId":"dns-record-txt-set-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXTComponent"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates txt-records for a specific zone","tags":["Domain"]}},"/v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}/actions/set-managed":{"post":{"operationId":"dns-set-record-set-managed","parameters":[{"description":"The ID of the DNSZone to set a record set to managed for.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The record set to set to managed.","in":"path","name":"recordSet","required":true,"schema":{"enum":["a","mx"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{},"type":"object"}}}},"responses":{"204":{"content":{"application/json":{"schema":{"properties":{"ingressId":{"format":"uuid","type":"string"}},"type":"object"}}},"description":"The ID of the Ingress the a-records were set for, or an empty object if mx-records were set."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Set a record set on a DNSZone to managed.","tags":["Domain"]}},"/v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}":{"put":{"operationId":"dns-update-record-set","parameters":[{"description":"The ID of the DNSZone to update a record set for.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The record set to be updated.","in":"path","name":"recordSet","required":true,"schema":{"enum":["a","mx","txt","srv","cname"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedACustom"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXCustom"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXTComponent"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVComponent"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAMEComponent"}]}}}},"responses":{"204":{"description":"Record set updated."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a record set on a DNSZone.","tags":["Domain"]}},"/v2/domains/{domainId}/declaration":{"delete":{"operationId":"domain-abort-domain-declaration","description":"Abort an incomplete Domain registration/transfer.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Abort a Domain declaration.","tags":["Domain"]}},"/v2/domains/{domainId}/handles/ownerc":{"put":{"operationId":"domain-change-ownerc-of-domain-v2-deprecated","deprecated":true,"description":"Change the domain owner of a fully registered domain.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"minItems":1,"type":"array"}},"required":["ownerC"]}}},"description":"The new handle fields for the new owner."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change the owner contact of a domain.","tags":["Domain"]}},"/v2/domains/{domainId}/projectId":{"put":{"operationId":"domain-change-project-of-domain-v2-deprecated","deprecated":true,"parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"projectId":{"format":"uuid","type":"string"}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change the Project relation of a Domain.","tags":["Domain"]}},"/v2/domain-registrable":{"post":{"operationId":"domain-check-domain-registrability","description":"If false, you have to start a transfer with an auth code instead.","requestBody":{"content":{"application/json":{"schema":{"properties":{"domain":{"format":"naked-domain","type":"string"}},"required":["domain"]}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"isPremium":{"type":"boolean"},"registrable":{"type":"boolean"}},"required":["registrable","isPremium"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if a Domain is available to register.","tags":["Domain"]}},"/v2/domains":{"post":{"operationId":"domain-check-domain-registrability-v2-deprecated","deprecated":true,"description":"If false, you have to start a transfer with an auth code instead.","requestBody":{"content":{"application/json":{"schema":{"properties":{"domain":{"format":"naked-domain","type":"string"}},"required":["domain"]}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"available":{"type":"boolean"}},"required":["available"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if a Domain is available to register.","tags":["Domain"]},"get":{"operationId":"domain-list-domains","parameters":[{"in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Search for domain names in this list. Input will be handled like '%YourInput%'.","in":"query","name":"domainSearchName","required":false,"schema":{"type":"string"}},{"description":"Search for domain contact hash.","in":"query","name":"contactHash","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Domain"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Domains","tags":["Domain"]}},"/v2/domain-transferable":{"post":{"operationId":"domain-check-domain-transferability","requestBody":{"content":{"application/json":{"schema":{"properties":{"authCode":{"type":"string"},"domain":{"format":"naked-domain","type":"string"}},"required":["domain"]}}}},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.TransferabilityResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if a Domain is available to transfer.","tags":["Domain"]}},"/v2/domains/{domainId}/actions/auth-code":{"post":{"operationId":"domain-create-domain-auth-code","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"authCode":{"type":"string"}},"required":["authCode"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an auth code for a Domains transfer-out process.","tags":["Domain"]}},"/v2/domains/{domainId}/nameservers":{"put":{"operationId":"domain-declare-nameservers-v2-deprecated","deprecated":true,"parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"nameservers":{"items":{"format":"idn-hostname","type":"string"},"minItems":2,"type":"array","uniqueItems":true}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change all nameservers of a Domain.","tags":["Domain"]},"patch":{"operationId":"domain-update-domain-nameservers","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"nameservers":{"items":{"format":"idn-hostname","type":"string"},"minItems":2,"type":"array","uniqueItems":true}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the nameservers of a Domain.","tags":["Domain"]}},"/v2/domains/{domainId}/declarations/authcode":{"put":{"operationId":"domain-declare-process-change-authcode-v2-deprecated","deprecated":true,"description":"Change a wrong AuthCode of your transfer domain request (declare domain process). This route will also restart the transfer itself.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"authCode":{"minLength":4,"type":"string"}},"required":["authCode"]}}},"description":"The new handle fields for the new owner."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an AuthCode.","tags":["Domain"]}},"/v2/domains/{domainId}/declarations/handles":{"put":{"operationId":"domain-declare-process-change-handles-v2-deprecated","deprecated":true,"description":"This route will also restart the transfer or register itself.","parameters":[{"description":"The domain id from which the ownerC is to be changed","in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"minItems":1,"type":"array"}},"required":["ownerC"]}}},"description":"The new handle fields for the new owner."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Domain's OwnerC handle.","tags":["Domain"]}},"/v2/domains/{domainId}":{"delete":{"operationId":"domain-delete-domain","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"transit","schema":{"description":"Only for .de Domains.","type":"boolean"}}],"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Domain.","tags":["Domain"]},"get":{"operationId":"domain-get-domain","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Domain"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Domain.","tags":["Domain"]}},"/v2/domains/handle-schema/{domainName}":{"get":{"operationId":"domain-get-handle-fields-v2-deprecated","deprecated":true,"description":"Get required handle fields of a registrar for your domain process (transfer/registration).","parameters":[{"description":"The whole domain name","in":"path","name":"domainName","required":true,"schema":{"format":"naked-domain","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"jsonSchemaAdminC":{"type":"object"},"jsonSchemaOwnerC":{"type":"object"}},"required":["jsonSchemaOwnerC"],"type":"object"}}},"description":"The parseable json schema objects"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get a HandleSchema.","tags":["Domain"]}},"/v2/domains/{domainId}/latest-screenshot":{"get":{"operationId":"domain-get-latest-screenshot","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"domainName":{"example":"example.com","type":"string"},"path":{"example":"/var/www","type":"string"}},"required":["domainName","path"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"reference":{"type":"string"}},"type":"object"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the latest screenshot's FileReference belonging to a Domain.","tags":["Domain"]}},"/v2/projects/{projectId}/domains":{"get":{"operationId":"domain-list-domains-v2-deprecated","deprecated":true,"parameters":[{"in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Search for domain names in these list. Input will be handled like '%YourInput%'","in":"query","name":"domainSearchName","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Domain"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Domains belonging to a Project.","tags":["Domain"]}},"/v2/domain-tlds/{tld}/contact-schemas":{"get":{"operationId":"domain-list-tld-contact-schemas","description":"List the contact schemas describing the fields required to register/transfer a Domain.","parameters":[{"description":"The top level domain to retrieve the schemas for.","example":{"value":"de"},"in":"path","name":"tld","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"jsonSchemaAdminC":{"type":"object"},"jsonSchemaOwnerC":{"type":"object"}},"required":["jsonSchemaOwnerC"],"type":"object"}}},"description":"The JSON-Schema objects."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List the contact schemas for a TLD.","tags":["Domain"]}},"/v2/domain-tlds":{"get":{"operationId":"domain-list-tlds","description":"List the top level domains currently supported by our API.","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.TopLevel"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List TLDs.","tags":["Domain"]}},"/v2/domains/{domainId}/actions/resend-email":{"post":{"operationId":"domain-resend-domain-email","description":"Trigger a resend of a confirmation or registrant verification email. Has no effect on .de Domains.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Resend a Domain email.","tags":["Domain"]}},"/v2/domain-suggestions":{"get":{"operationId":"domain-suggest","parameters":[{"in":"query","name":"prompt","required":true,"schema":{"maxLength":500,"type":"string"}},{"in":"query","name":"domainCount","required":false,"schema":{"default":6,"maximum":30,"minimum":1,"type":"integer"}},{"in":"query","name":"tlds","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.domain.SuggestedDomains"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Suggest a list of domains based on a prompt using AI.","tags":["Domain"]}},"/v2/domains/{domainId}/auth-code":{"patch":{"operationId":"domain-update-domain-auth-code","description":"Update an incorrect auth code of an ongoing/failed Domain transfer. This route will also restart the transfer itself.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"authCode":{"minLength":4,"type":"string"}},"required":["authCode"]}}}},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the auth code of a Domain.","tags":["Domain"]}},"/v2/domains/{domainId}/contacts/{contact}":{"patch":{"operationId":"domain-update-domain-contact","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"contact","required":true,"schema":{"enum":["owner"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"contact":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"minItems":1,"type":"array"}},"required":["contact"]}}},"description":"The new contact data of the Domain."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a contact of a Domain.","tags":["Domain"]}},"/v2/domains/{domainId}/project-id":{"patch":{"operationId":"domain-update-domain-project-id","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"projectId":{"format":"uuid","type":"string"}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Domain's project id.","tags":["Domain"]}},"/v2/extension-instances/{extensionInstanceId}/tokens":{"post":{"operationId":"extension-authenticate-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"extensionInstanceSecret":{"description":"The latest secret an external application received via lifecycle webhooks.\nNamely ExtensionAddedToContext and ExtensionInstanceSecretRotated.\n","type":"string"}},"required":["extensionInstanceSecret"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"expiry":{"format":"date-time","type":"string"},"publicToken":{"description":"Set this in the 'x-access-token' header when performing domain actions.","type":"string"}},"required":["publicToken","expiry"],"type":"object"}}},"description":"You received a public token with a short expiry. You can now perform domain actions."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Authenticate your external application using the extensionInstanceSecret.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/scopes":{"patch":{"operationId":"extension-consent-to-extension-scopes","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"consentedScopes":{"items":{"type":"string"},"type":"array"}},"required":["consentedScopes"],"type":"object"}}},"required":true},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Consent to extension scopes.","tags":["Marketplace"]}},"/v2/extension-instances":{"post":{"operationId":"extension-create-extension-instance","requestBody":{"content":{"application/json":{"schema":{"properties":{"consentedScopes":{"items":{"type":"string"},"type":"array"},"context":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"},"contextId":{"format":"uuid","type":"string"},"extensionId":{"format":"uuid","type":"string"}},"required":["extensionId","consentedScopes","context","contextId"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"]}}},"description":"The ExtensionInstance ID."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an ExtensionInstance.","tags":["Marketplace"]},"get":{"operationId":"extension-list-extension-instances","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":1000,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"type":"integer"}},{"in":"query","name":"context","required":true,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"}},{"description":"The ID of your customer, project or user.","in":"query","name":"contextId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExtensionInstance"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List ExtensionInstances.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/actions/create-access-token-retrieval-key":{"post":{"operationId":"extension-create-retrieval-key","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"accessTokenRetrievalKey":{"type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["accessTokenRetrievalKey","userId"],"type":"object"}}},"description":"An access token retrieval key. This key can be used to retrieve a scoped access token from an external application."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an access token retrieval key for an extension instance.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}":{"delete":{"operationId":"extension-delete-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an ExtensionInstance.","tags":["Marketplace"]},"get":{"operationId":"extension-get-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExtensionInstance"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an ExtensionInstance.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/actions/disable":{"post":{"operationId":"extension-disable-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable an ExtensionInstance.","tags":["Marketplace"]}},"/v2/contributors/{contributorId}/extensions/{extensionId}/extension-instances/{extensionInstanceId}/actions/dry-run/{webhookKind}":{"post":{"operationId":"extension-dry-run-webhook","parameters":[{"in":"path","name":"contributorId","required":true,"schema":{"type":"string"}},{"in":"path","name":"extensionId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The ID of an extension instance. For this route it can be made up.","in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"webhookKind","required":true,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.WebhookKind"}},{"description":"Define the contextId. If left empty, the contextId will be random.","in":"query","name":"contextId","required":false,"schema":{"type":"string"}},{"description":"Define the scopes. If left empty, the scopes will be those defined in the extension.","in":"query","name":"scopes","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Define the `disabled` state of the extension instance. If left empty, the it will be random.","in":"query","name":"instanceDisabled","required":false,"schema":{"type":"boolean"}},{"description":"Define the creation timestamp of the extension instance. If left empty, the it will be random.","in":"query","name":"createdAt","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Define the secret of the extension instance. If left empty, the it will be random. This secret will not be able to be used.","in":"query","name":"secret","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"errorMessage":{"description":"The error message of an internal error.","example":"The url httpsecurity is not a valid protocol","type":"string"},"responseBody":{"type":"string"},"responseCode":{"description":"The http status code that the external application responded with.","example":200,"type":"number"},"responseHeaders":{"type":"string"},"routeCalled":{"example":"https://example.com/extension/e1a9370f-cc3c-42b9-98b4-8e3ac54c9710/instance/f567441d-2429-48fd-8fe9-6c5dc18722d8/add?dry-run=true","type":"string"},"successful":{"description":"This shows if the response of the external application has been accepted as successful.","example":true,"type":"boolean"}},"required":["successful","routeCalled"],"type":"object"}}},"description":"The webhook has been run successfully."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Dry run a webhook with random or given values.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/actions/enable":{"post":{"operationId":"extension-enable-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Enable an ExtensionInstance.","tags":["Marketplace"]}},"/v2/contributors/{contributorId}":{"get":{"operationId":"extension-get-contributor","parameters":[{"in":"path","name":"contributorId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Contributor"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get a Contributor.","tags":["Marketplace"]}},"/v2/extensions/{extensionId}":{"get":{"operationId":"extension-get-extension","parameters":[{"in":"path","name":"extensionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Extension"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get an Extension.","tags":["Marketplace"]}},"/v2/webhook-public-keys/{serial}":{"get":{"operationId":"extension-get-public-key","parameters":[{"description":"The serial id of a specific public key. Use `latest` to get the latest public key.","in":"path","name":"serial","required":true,"schema":{"example":"latest","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.PublicKey"}}},"description":"Use this public key to verify the webhook signature on your end."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get the public key to verify the webhook signature.","tags":["Marketplace"]}},"/v2/contributors":{"get":{"operationId":"extension-list-contributors","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":1000,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Contributor"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List Contributors.","tags":["Marketplace"]}},"/v2/extensions":{"get":{"operationId":"extension-list-extensions","parameters":[{"in":"query","name":"context","required":false,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"}},{"in":"query","name":"limit","required":false,"schema":{"default":1000,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Extension"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List Extensions.","tags":["Marketplace"]}},"/v2/files":{"post":{"operationId":"file-create-file","parameters":[{"in":"header","name":"Token","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"properties":{"file":{"example":"binary","format":"binary","type":"string"}},"required":["file"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileMeta"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"406":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Create a File.","tags":["File"]}},"/v2/files/{fileId}/meta":{"get":{"operationId":"file-get-file-meta","parameters":[{"description":"ID of the File to get the meta for.","in":"path","name":"fileId","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}},{"description":"Only needed for protected Files.","in":"header","name":"Token","required":false,"schema":{"example":"jwt","type":"string"}},{"description":"Only needed for protected Files.","in":"query","name":"token","required":false,"schema":{"example":"jwt","type":"string"},"x-go-name":"QueryParameterToken"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileMeta"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a File's meta.","tags":["File"]}},"/v2/file-upload-tokens/{fileUploadToken}/rules":{"get":{"operationId":"file-get-file-upload-token-rules","parameters":[{"description":"FileUploadToken to retrieve rules for.","in":"path","name":"fileUploadToken","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a FileUploadToken's rules.","tags":["File"]}},"/v2/file-upload-types/{fileUploadType}/rules":{"get":{"operationId":"file-get-file-upload-type-rules","parameters":[{"description":"FileUploadType to retrieve rules for.","in":"path","name":"fileUploadType","required":true,"schema":{"enum":["avatar","conversation"],"example":"avatar","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a FileUploadType's rules.","tags":["File"]}},"/v2/files/{fileId}":{"get":{"operationId":"file-get-file","parameters":[{"description":"ID of the File to be retrieved.","in":"path","name":"fileId","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}},{"in":"header","name":"Accept","schema":{"default":"application/octet-stream","enum":["application/octet-stream","text/plain;base64"],"example":"application/octet-stream","type":"string"}},{"in":"header","name":"Content-Disposition","schema":{"default":"inline","enum":["inline","attachment"],"example":"inline","type":"string"}},{"description":"Only needed for protected Files.","in":"header","name":"Token","required":false,"schema":{"example":"jwt","type":"string"}},{"description":"Only needed for protected Files.","in":"query","name":"token","required":false,"schema":{"example":"jwt","type":"string"},"x-go-name":"QueryParameterToken"}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"type":"string"}},"text/plain;base64":{"schema":{"type":"string"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a File.","tags":["File"]}},"/v2/files/{fileId}/{fileName}":{"get":{"operationId":"file-get-file-with-name","parameters":[{"description":"ID of the File to be retrieved.","in":"path","name":"fileId","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}},{"description":"Name of the File to be retrieved.","in":"path","name":"fileName","required":true,"schema":{"example":"me.jpeg","type":"string"}},{"in":"header","name":"Accept","schema":{"default":"application/octet-stream","enum":["application/octet-stream","text/plain;base64"],"example":"application/octet-stream","type":"string"}},{"in":"header","name":"Content-Disposition","schema":{"default":"inline","enum":["inline","attachment"],"example":"inline","type":"string"}},{"description":"Only needed for protected Files.","in":"header","name":"Token","required":false,"schema":{"example":"jwt","type":"string"}},{"description":"Only needed for protected Files.","in":"query","name":"token","required":false,"schema":{"example":"jwt","type":"string"},"x-go-name":"QueryParameterToken"}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"type":"string"}},"text/plain;base64":{"schema":{"type":"string"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a File with user-friendly url.","tags":["File"]}},"/v2/ingresses":{"post":{"operationId":"ingress-create-ingress","requestBody":{"content":{"application/json":{"schema":{"properties":{"hostname":{"format":"idn-hostname","type":"string"},"paths":{"description":"A list of paths. The default path `/` is always present and cannot be removed.","items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"},"projectId":{"format":"uuid","type":"string"}},"required":["hostname","projectId","paths"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"},"ownership":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ownership"}},"required":["id","ownership"],"type":"object"}}},"description":"Created"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an Ingress.","tags":["Domain"]},"get":{"operationId":"ingress-list-ingresses","parameters":[{"description":"ID of the Project to list Ingresses for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Certificate to list Ingresses for.","in":"query","name":"certificateId","required":false,"schema":{"format":"uuid","type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ingress"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Ingresses.","tags":["Domain"]}},"/v2/ingresses/{ingressId}":{"delete":{"operationId":"ingress-delete-ingress","parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an Ingress.","tags":["Domain"]},"get":{"operationId":"ingress-get-ingress","parameters":[{"description":"ID of the Ingress to be retrieved.","in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ingress"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an Ingress.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/actions/verify-ownership":{"post":{"operationId":"ingress-ingress-verify-ownership","parameters":[{"description":"UUID of the Ingress to verify the ownership for.","in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verifiy the ownership of an Ingress.","tags":["Domain"]}},"/v2/actions/list-ingresses-compatible-with-certificate":{"post":{"operationId":"ingress-list-ingresses-compatible-with-certificate","description":"List Ingresses in a Project compatible with a certificate.","requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"description":"PEM-encoded certificate. Linebreaks have to be escaped with \n.","type":"string"},"projectId":{"description":"The projects UUID.","format":"uuid","type":"string"}},"required":["projectId","certificate"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ingress"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Ingresses compatible with a certificate.","tags":["Domain"]}},"/v2/projects/{projectId}/ingresses":{"get":{"operationId":"ingress-list-ingresses-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the Project to list Ingresses for","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.IngressDeprecated"},"type":"array"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Ingresses belonging to a project.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/paths":{"put":{"operationId":"ingress-paths-deprecated","deprecated":true,"parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"}}}},"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an Ingresses paths.","tags":["Domain"]},"patch":{"operationId":"ingress-update-ingress-paths","parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"}}}},"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the paths of an Ingress.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/actions/request-acme-certificate-issuance":{"post":{"operationId":"ingress-request-ingress-acme-certificate-issuance","parameters":[{"description":"UUID of the Ingress to request the issuance for.","in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request the ACME certificate issuance of an Ingress.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/tls":{"put":{"operationId":"ingress-tls-deprecated","deprecated":true,"parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsAcme"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsCertificate"}]}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an Ingresses tls settings.","tags":["Domain"]},"patch":{"operationId":"ingress-update-ingress-tls","parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"acme":{"type":"boolean"},"isCreated":{"deprecated":true,"description":"Was added by mistake. Never did anything.","type":"boolean"},"requestDeadline":{"deprecated":true,"description":"Was added by mistake. Never did anything.","format":"date-time","type":"string"}},"required":["acme"],"type":"object"},{"additionalProperties":false,"properties":{"certificateId":{"format":"uuid","type":"string"}},"required":["certificateId"],"type":"object"}]}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the tls settings of an Ingress.","tags":["Domain"]}},"/v2/invoices/{invoiceId}":{"get":{"operationId":"invoice-detail","parameters":[{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"invoiceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Invoice"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get details of an Invoice.","tags":["Contract"]}},"/v2/customers/{customerId}/invoice-settings":{"get":{"operationId":"invoice-get-detail-of-invoice-settings","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceSettings"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get InvoiceSettings of a Customer.","tags":["Contract"]},"put":{"operationId":"invoice-update-invoice-settings","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"additionalEmailRecipients":{"example":["hallo@test.de"],"items":{"format":"email","type":"string"},"type":"array"},"invoicePeriod":{"example":1,"minimum":0,"type":"integer"},"paymentSettings":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettings"},"printedInvoices":{"type":"boolean"},"recipient":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Recipient"},"recipientSameAsOwner":{"type":"boolean"},"targetDay":{"example":15,"maximum":28,"minimum":0,"type":"integer"}},"required":["invoicePeriod","paymentSettings"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceSettings"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update InvoiceSettings of a Customer.","tags":["Contract"]}},"/v2/customers/{customerId}/invoices/{invoiceId}/file-access-token":{"get":{"operationId":"invoice-get-file-access-token","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"invoiceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"accessToken":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["accessToken","expiresAt"],"type":"object"}}},"description":"The File Access Token required to access the Invoice file."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request an Access Token for the Invoice file.","tags":["Contract"]}},"/v2/customers/{customerId}/invoices":{"get":{"operationId":"invoice-list-customer-invoices","parameters":[{"example":"ac3c8bbe-4c44-4f34-b6c7-1e6af48c3a7c","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":["REGULAR","CORRECTION"],"in":"query","name":"invoiceTypes","required":false,"schema":{"items":{"enum":["REGULAR","REISSUE","CORRECTION","CANCELLATION"],"type":"string"},"type":"array"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":1000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Invoice"},"type":"array"}}},"description":"","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Invoices of a Customer.","tags":["Contract"]}},"/v2/projects/{projectId}/delivery-boxes":{"post":{"operationId":"mail-create-deliverybox","parameters":[{"description":"ID of the Project to create the DeliveryBox in.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"},"password":{"type":"string"}},"required":["description","password"],"type":"object"}}},"description":"DeliveryBox"},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a DeliveryBox.","tags":["Mail"]},"get":{"operationId":"mail-list-delivery-boxes","parameters":[{"description":"ID of the Project to list DeliveryBoxes for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"Search term to look for in DeliveryBoxes name and description.","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mail.Deliverybox"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List DeliveryBoxes belonging to a Project.","tags":["Mail"]}},"/v2/projects/{projectId}/mail-addresses":{"post":{"operationId":"mail-create-mail-address","parameters":[{"description":"ID of the project to create a MailAddress for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.mail.CreateForwardAddress"},{"$ref":"#/components/schemas/de.mittwald.v1.mail.CreateMailAddress"}]}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a MailAddress.","tags":["Mail"]},"get":{"operationId":"mail-list-mail-addresses","parameters":[{"description":"ID of the Project to list MailAddresses for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"Search term to look for in MailAddresses mail address or mailbox name.","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mail.MailAddress"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MailAddresses belonging to a Project.","tags":["Mail"]}},"/v2/delivery-boxes/{deliveryBoxId}":{"delete":{"operationId":"mail-delete-delivery-box","parameters":[{"description":"ID of the DeliveryBox to be deleted.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a DeliveryBox.","tags":["Mail"]},"get":{"operationId":"mail-get-delivery-box","parameters":[{"description":"ID of the DeliveryBox to be retrieved.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mail.Deliverybox"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a DeliveryBox.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}":{"delete":{"operationId":"mail-delete-mail-address","parameters":[{"description":"ID of the MailAddress to be deleted.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a MailAddress.","tags":["Mail"]},"get":{"operationId":"mail-get-mail-address","parameters":[{"description":"ID of the MailAddress to be retrieved.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mail.MailAddress"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MailAddress.","tags":["Mail"]}},"/v2/deliveryboxes/{id}/description":{"put":{"operationId":"mail-deliverybox-update-description-deprecated","deprecated":true,"parameters":[{"description":"ID of the deliverybox","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}},"description":"Description of the deliverybox"},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A deliverybox with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the description of an deliverybox","tags":["Mail"]}},"/v2/deliveryboxes/{id}/password":{"put":{"operationId":"mail-deliverybox-update-password-deprecated","deprecated":true,"parameters":[{"description":"ID of the deliverybox","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A deliverybox with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password for a specific deliverybox","tags":["Mail"]}},"/v2/projects/{projectId}/mail-settings":{"get":{"operationId":"mail-list-project-mail-settings","parameters":[{"description":"ID of the Project to list mail settings for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"},"projectId":{"type":"string"},"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["projectId","blacklist","whitelist"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List mail settings of a Project.","tags":["Mail"]}},"/v2/mailaddresses/{id}/address":{"put":{"operationId":"mail-mailaddress-update-address-deprecated","deprecated":true,"parameters":[{"description":"ID of the mail address","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"format":"idn-email","type":"string"}},"required":["address"]}}},"description":"set mail-address"},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A mailaddress with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update mail-address","tags":["Mail"]}},"/v2/mail-migrations/actions/possibility-check":{"post":{"operationId":"mail-migration-check-migration-is-possible","requestBody":{"content":{"application/json":{"schema":{"properties":{"sourceLegacyProjectId":{"type":"string"},"targetProjectId":{"format":"uuid","type":"string"}},"required":["sourceLegacyProjectId","targetProjectId"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorResponse"}}},"description":"Ok"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[],"de.mittwald.v1.commons.LegacyBearerAuthentication":[]}],"summary":"Check if a Migration between two projects is possible.","tags":["Mail"]}},"/v2/mail-migrations/{migrationId}":{"get":{"operationId":"mail-migration-get-migration","parameters":[{"description":"The ID of the Migration to be retrieved.","in":"path","name":"migrationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Migration"}}},"description":"The requested Migration."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Migration.","tags":["Mail"]}},"/v2/mail-migrations":{"get":{"operationId":"mail-migration-list-migrations","description":"In case you want to list the Migrations for a p-Account you will have to use `commons.LegacyBearerAuthentication` and `commons.AccessToken` for authentication.\nIf you want to list the Migrations for a mStudio-project you will have to use `commons.AccessToken` for authentication.\n","parameters":[{"description":"Name of the pAccount in customer center to list Migrations for.","in":"query","name":"pAccountName","required":false,"schema":{"pattern":"^p[1-9]+$","type":"string"}},{"description":"ID of the mStudio-Project to list Migrations for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Migration"},"type":"array"}}},"description":"An array of Migration objects."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]},{"de.mittwald.v1.commons.LegacyBearerAuthentication":[]}],"summary":"List Migrations belonging to a Project in customer center or mStudio.","tags":["Mail"]}},"/v2/mail-migrations/actions/request":{"post":{"operationId":"mail-migration-request-mail-migration","requestBody":{"content":{"application/json":{"schema":{"properties":{"sourceLegacyProjectId":{"type":"string"},"targetProjectId":{"format":"uuid","type":"string"}},"required":["sourceLegacyProjectId","targetProjectId"],"type":"object"}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[],"de.mittwald.v1.commons.LegacyBearerAuthentication":[]}],"summary":"Request a Mail Migration between two projects.","tags":["Mail"]}},"/v2/projects/{projectId}/mailsettings/blacklist":{"put":{"operationId":"mail-projectsetting-update-blacklist-deprecated","deprecated":true,"parameters":[{"description":"ID of the project you want to update blacklist for","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["blacklist"],"type":"object"}}}},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A projectsetting with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update blacklist for a given project ID","tags":["Mail"]}},"/v2/projects/{projectId}/mailsettings/whitelist":{"put":{"operationId":"mail-projectsetting-update-whitelist-deprecated","deprecated":true,"parameters":[{"description":"ID of the project you want to update whitelist for","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["whitelist"],"type":"object"}}}},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A projectsetting with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update whitelist for a given project ID","tags":["Mail"]}},"/v2/delivery-boxes/{deliveryBoxId}/description":{"patch":{"operationId":"mail-update-delivery-box-description","parameters":[{"description":"ID of the DeliveryBox to update the description for.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}},"description":"Description of the DeliveryBox."},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the description of a DeliveryBox.","tags":["Mail"]}},"/v2/delivery-boxes/{deliveryBoxId}/password":{"patch":{"operationId":"mail-update-delivery-box-password","parameters":[{"description":"ID of the DeliveryBox to update the password for.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password of a DeliveryBox.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/address":{"patch":{"operationId":"mail-update-mail-address-address","parameters":[{"description":"ID of the MailAddress to update the address for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"format":"idn-email","type":"string"}},"required":["address"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/autoresponder":{"patch":{"operationId":"mail-update-mail-address-autoresponder","parameters":[{"description":"ID of the MailAddress to update the autoresponder for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"autoResponder":{"nullable":true,"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time","type":"string"},"message":{"type":"string"},"startsAt":{"format":"date-time","type":"string"}},"required":["message","active"],"type":"object"}},"required":["autoResponder"]}}},"description":"Autoresponder for the MailAddress."},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the autoresponder of a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-autoresponder-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the autoresponder for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"autoResponder":{"nullable":true,"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time","type":"string"},"message":{"type":"string"},"startsAt":{"format":"date-time","type":"string"}},"required":["message","active"],"type":"object"}},"required":["autoResponder"]}}},"description":"Autoresponder for the MailAddress."},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the autoresponder of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/catch-all":{"patch":{"operationId":"mail-update-mail-address-catch-all","parameters":[{"description":"ID of the MailAddress to update the catchall for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"}},"required":["active"]}}},"description":"Catchall of the MailAddress."},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the catchall of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/catchall":{"put":{"operationId":"mail-update-mail-address-catchall-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the catchall for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"}},"required":["active"]}}},"description":"Catchall of the MailAddress."},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the catchall of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/forward-addresses":{"patch":{"operationId":"mail-update-mail-address-forward-addresses","parameters":[{"description":"ID of the MailAddress to update the forward addresses for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["forwardAddresses"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the forward addresses of a MailAddresses.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-forward-addresses-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the forward addresses for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["forwardAddresses"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the forward addresses of a MailAddresses.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/password":{"patch":{"operationId":"mail-update-mail-address-password","parameters":[{"description":"ID of the MailAddress to update the password for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password for a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-password-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the password for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password for a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/quota":{"patch":{"operationId":"mail-update-mail-address-quota","parameters":[{"description":"ID of the MailAddress to update the quota for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"quotaInBytes":{"description":"2 GB","example":2147483648,"minimum":-1,"type":"number"}},"required":["quotaInBytes"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the quota of a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-quota-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the quota for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"quotaInBytes":{"description":"2 GB","example":2147483648,"minimum":-1,"type":"number"}},"required":["quotaInBytes"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the quota of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/spam-protection":{"patch":{"operationId":"mail-update-mail-address-spam-protection","parameters":[{"description":"ID of the MailAddress to update the spam protection for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"spamProtection":{"properties":{"active":{"type":"boolean"},"autoDeleteSpam":{"type":"boolean"},"folder":{"enum":["inbox","spam"],"type":"string"},"relocationMinSpamScore":{"maximum":10,"type":"integer"}},"required":["active","folder","relocationMinSpamScore","autoDeleteSpam"],"type":"object"}},"required":["spamProtection"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the spam protection of a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-spam-protection-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the spam protection for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"spamProtection":{"properties":{"active":{"type":"boolean"},"autoDeleteSpam":{"type":"boolean"},"folder":{"enum":["inbox","spam"],"type":"string"},"relocationMinSpamScore":{"maximum":10,"type":"integer"}},"required":["active","folder","relocationMinSpamScore","autoDeleteSpam"],"type":"object"}},"required":["spamProtection"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the spam protection of a MailAddress.","tags":["Mail"]}},"/v2/projects/{projectId}/mail-settings/{mailSetting}":{"patch":{"operationId":"mail-update-project-mail-setting","parameters":[{"description":"ID of the Project to update a mail setting for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"The mail setting to update.","in":"path","name":"mailSetting","required":true,"schema":{"enum":["blacklist","whitelist"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["blacklist"],"type":"object"},{"properties":{"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["whitelist"],"type":"object"}]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a mail setting of a Project.","tags":["Mail"]}},"/v2/projects/{projectId}/mail-settings/{setting}":{"put":{"operationId":"mail-update-project-mail-setting-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the Project to update a mail setting for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"The setting to update.","in":"path","name":"setting","required":true,"schema":{"enum":["blacklist","whitelist"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["blacklist"],"type":"object"},{"properties":{"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["whitelist"],"type":"object"}]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a mail setting of a Project.","tags":["Mail"]}},"/v2/newsletter-subscriptions/self":{"get":{"operationId":"newsletter-get-info","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"active":{"example":true,"type":"boolean"},"email":{"example":"a.lovelace@example.com","type":"string"},"registered":{"example":true,"type":"boolean"}},"required":["email","active","registered"],"type":"object"}}},"description":"Status information about the subscription."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Getting the subscription status of the subscription.","tags":["Notification"]},"delete":{"operationId":"newsletter-unsubscribe-user","responses":{"204":{"description":"User has been unsubscribed."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Unsubscribe a user from the mStudio newsletter.","tags":["Notification"]}},"/v2/notification-unread-counts":{"get":{"operationId":"notifications-count-unread-notifications","description":"The user is determined by the access token used.\nLighter weight route instead of getting all unread notifications and count yourself.\n","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"error":{"minimum":0,"type":"integer"},"info":{"minimum":0,"type":"integer"},"success":{"minimum":0,"type":"integer"},"total":{"minimum":0,"type":"integer"},"warning":{"minimum":0,"type":"integer"}},"required":["total","success","info","warning","error"],"type":"object"}}},"description":"Counts of unread notifications"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the counts for unread notifications of the user.","tags":["Notification"]}},"/v2/notifications":{"get":{"operationId":"notifications-list-notifications","description":"","parameters":[{"in":"query","name":"status","required":false,"schema":{"enum":["unread","read"],"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":500,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.Notification"},"type":"array"}}},"description":"List of notifications","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List all unread notifications.","tags":["Notification"]}},"/v2/notifications/status":{"put":{"operationId":"notifications-read-all-notifications-deprecated","deprecated":true,"description":"Deprecated route. Please use /v2/notifications/actions/read-all instead.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"}},"required":["status"],"type":"object"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Mark all notifications as read (deprecated).","tags":["Notification"]}},"/v2/notifications/actions/read-all":{"post":{"operationId":"notifications-read-all-notifications","description":"Mark all notifications for the authenticated user as read.","parameters":[{"in":"query","name":"severities","schema":{"items":{"enum":["success","info","warning","error"],"type":"string"},"type":"array"}},{"in":"query","name":"referenceId","schema":{"format":"uuid","type":"string"}},{"in":"query","name":"referenceAggregate","schema":{"type":"string"}},{"in":"query","name":"referenceDomain","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"},"updatedCount":{"description":"The number of notifications that have been updated.","format":"int32","type":"integer"}},"required":["status","updatedCount"],"type":"object"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Mark all notifications as read.","tags":["Notification"]}},"/v2/notifications/{notificationId}/status":{"put":{"operationId":"notifications-read-notification","parameters":[{"in":"path","name":"notificationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"}},"required":["status"],"type":"object"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"}},"required":["status"],"type":"object"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Mark notification as read.","tags":["Notification"]}},"/v2/orders":{"post":{"operationId":"order-create-order","description":"","requestBody":{"content":{"application/json":{"schema":{"properties":{"orderData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingOrder"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerOrder"},{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainOrder"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ExternalCertificateOrder"}]},"orderType":{"enum":["domain","projectHosting","server","externalCertificate"],"example":"projectHosting","type":"string"}},"type":"object"}}},"description":"The Order to create.","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"orderId":{"type":"string"}},"required":["orderId"]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an Order.","tags":["Contract"]},"get":{"operationId":"order-list-orders","description":"The list of Orders the User has access to.","parameters":[{"example":1000,"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":[],"in":"query","name":"includesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":[],"in":"query","name":"excludesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":["PS23-BASIC-0001"],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get list of Orders.","tags":["Contract"]}},"/v2/tariff-changes":{"post":{"operationId":"order-create-tariff-change","description":"","requestBody":{"content":{"application/json":{"schema":{"properties":{"tariffChangeData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingTariffChange"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerTariffChange"}]},"tariffChangeType":{"enum":["projectHosting","server"],"type":"string"}},"type":"object"}}},"description":"The Order to create.","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"orderId":{"type":"string"}},"required":["orderId"]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create TariffChange Order.","tags":["Contract"]}},"/v2/orders/{orderId}":{"get":{"operationId":"order-get-order","description":"Get details of a single Order, User must have access to the Order/Customer.","parameters":[{"example":"123e4567-e89b-12d3-a456-426614174000","in":"path","name":"orderId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get Order for Customer.","tags":["Contract"]}},"/v2/customers/{customerId}/orders":{"get":{"operationId":"order-list-customer-orders","description":"The list of Orders of a Customer the User has access to, can be filtered by orderStatus, articleTemplate and count.","parameters":[{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":1000,"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":[],"in":"query","name":"includesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":[],"in":"query","name":"excludesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":["PS23-BASIC-0001"],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get list of Orders of a Customer.","tags":["Contract"]}},"/v2/projects/{projectId}/orders":{"get":{"operationId":"order-list-project-orders","description":"The list of Order of a Project the User has access to, can be filtered by orderStatus, articleTemplate and count.","parameters":[{"example":"e7c4b2e6-e38f-4c9b-8583-08bd627ff4d8","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"example":1000,"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":[],"in":"query","name":"includesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":[],"in":"query","name":"excludesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":["PS23-BASIC-0001"],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get list of Orders of a Project.","tags":["Contract"]}},"/v2/order-previews":{"post":{"operationId":"order-preview-order","requestBody":{"content":{"application/json":{"schema":{"properties":{"orderData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingOrderPreview"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerOrderPreview"},{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainOrderPreview"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ExternalCertificateOrderPreview"}]},"orderType":{"enum":["domain","projectHosting","server","externalCertificate"],"type":"string"}},"type":"object"}}},"description":"Your order information","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.HostingOrderPreviewResponse"},{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainOrderPreviewResponse"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ExternalCertificateOrderPreviewResponse"}]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"422":{"content":{"application/json":{"schema":{"properties":{"error":{"type":"object"}}}}},"description":"Unprocessable Content"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Preview Order.","tags":["Contract"]}},"/v2/tariff-change-previews":{"post":{"operationId":"order-preview-tariff-change","description":"","requestBody":{"content":{"application/json":{"schema":{"properties":{"tariffChangeData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingTariffChange"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerTariffChange"}]},"tariffChangeType":{"enum":["projectHosting","server"],"type":"string"}},"type":"object"}}},"description":"Your order information","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"machineTypePrice":{"example":100,"type":"number"},"storagePrice":{"example":900,"type":"number"},"totalPrice":{"example":1000,"type":"number"}},"required":["totalPrice","storagePrice","machineTypePrice"]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"422":{"content":{"application/json":{"schema":{"properties":{"error":{"type":"object"}}}}},"description":"Unprocessable Content"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Preview TariffChange.","tags":["Contract"]}},"/v2/page-insights":{"get":{"operationId":"pageinsights-get-performance-data","parameters":[{"description":"A domain or subdomain.","example":"mittwald.de","in":"query","name":"domain","required":true,"schema":{"type":"string"}},{"description":"A path of the domain.","example":"/","in":"query","name":"path","required":true,"schema":{"type":"string"}},{"description":"Query data for a specific date, defaults to date today.","example":"2017-07-21","in":"query","name":"date","required":false,"schema":{"format":"date","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"format":"date-time","type":"string"},"domain":{"type":"string"},"metrics":{"items":{"properties":{"createdAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"score":{"format":"double","nullable":true,"type":"number"},"value":{"format":"double","type":"number"}},"required":["name","value","createdAt"],"type":"object"},"type":"array"},"moreDataAvailable":{"items":{"format":"date","type":"string"},"type":"array"},"path":{"type":"string"},"performanceScore":{"format":"double","type":"number"},"screenshot":{"properties":{"createdAt":{"format":"date-time","type":"string"},"fileRef":{"type":"string"}},"required":["fileRef","createdAt"],"type":"object"}},"required":["domain","path","performanceScore"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get detailed performance data for a given domain and path.","tags":["Page Insights"]}},"/v2/projects/{projectId}/straces/{straceId}":{"get":{"operationId":"pageinsights-get-strace-data","parameters":[{"description":"ID of the strace to get the data for.","in":"path","name":"straceId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the project the strace belongs to.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"executedAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"result":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.strace.Error"},{"$ref":"#/components/schemas/de.mittwald.v1.strace.Data"}]}},"required":["id","executedAt","result"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all data for a given strace.","tags":["Page Insights"]}},"/v2/projects/{projectId}/page-insights":{"get":{"operationId":"pageinsights-list-performance-data-for-project","parameters":[{"description":"ID of the Project to list domains for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Filter for a specific domain.","example":"mittwald.de","in":"query","name":"domain","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"properties":{"domain":{"type":"string"},"paths":{"items":{"properties":{"createdAt":{"format":"date-time","type":"string"},"path":{"type":"string"},"performanceScore":{"type":"integer"},"screenshotFileRef":{"type":"string"}},"required":["path","performanceScore","createdAt"],"type":"object"},"type":"array"}},"required":["domain","paths"],"type":"object"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List websites (specified as domain and path) from a project where performance data is available.","tags":["Page Insights"]}},"/v2/projects/{projectId}/straces":{"post":{"operationId":"pageinsights-schedule-strace","parameters":[{"description":"ID of a project to own the created strace. It must exist a ingress with the same hostname as in the url to be measured.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"url":{"description":"A call to this URL is measured via strace.","example":"https://example.com","type":"string"}},"required":["url"],"type":"object"}}},"description":""},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Scheduled"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Schedule a strace measurement for a single http request.","tags":["Page Insights"]}},"/v2/project-invites/{projectInviteId}/actions/accept":{"post":{"operationId":"project-accept-project-invite","parameters":[{"description":"ID of the ProjectInvite to be accepted.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"invitationToken":{"description":"Token contained in the invite for authentication.","type":"string"}},"type":"object"}}},"required":true},"responses":{"204":{"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Accept a ProjectInvite.","tags":["Project"]}},"/v2/projects/{projectId}/invites":{"post":{"operationId":"project-create-project-invite","parameters":[{"description":"ID of the Project to create a ProjectInvite for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mailAddress":{"description":"Mail-address of the person to be invited.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the resulting ProjectMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the ProjectInvite.","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"}},"required":["mailAddress","role"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a ProjectInvite.","tags":["Project"]},"get":{"operationId":"project-list-invites-for-project","parameters":[{"description":"ID of the Project to list invites for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Invites belonging to a Project.","tags":["Project"]}},"/v2/servers/{serverId}/projects":{"post":{"operationId":"project-create-project","parameters":[{"description":"ID of the Server to create the Project for.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Name of the Project as it is displayed in the mStudio.","example":"My first Project!","type":"string"}},"required":["description"],"type":"object"}}},"description":""},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Project belonging to a Server.","tags":["Project"]}},"/v2/project-invites/{projectInviteId}/actions/decline":{"post":{"operationId":"project-decline-project-invite","parameters":[{"description":"ID of the ProjectInvite to be declined.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Decline a ProjectInvite.","tags":["Project"]}},"/v2/projects/{projectId}/avatar":{"delete":{"operationId":"project-delete-project-avatar","parameters":[{"description":"ID of the Project the avatar should be deleted for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Project's avatar.","tags":["Project"]},"post":{"operationId":"project-request-project-avatar-upload","parameters":[{"description":"ID of the Project you want to request an avatar upload for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"$ref":"#/components/schemas/de.mittwald.v1.project.AvatarRules"}},"required":["refId","rules"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a Project avatar upload.","tags":["Project"]}},"/v2/project-invites/{projectInviteId}":{"delete":{"operationId":"project-delete-project-invite","parameters":[{"description":"ID of the ProjectInvite to be deleted.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectInvite.","tags":["Project"]},"get":{"operationId":"project-get-project-invite","parameters":[{"description":"ID of the ProjectInvite to be retrieved.","in":"path","name":"projectInviteId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectInvite.","tags":["Project"]}},"/v2/project-memberships/{projectMembershipId}":{"delete":{"operationId":"project-delete-project-membership","parameters":[{"description":"ID of the ProjectMembership to be deleted.","in":"path","name":"projectMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectMembership.","tags":["Project"]},"get":{"operationId":"project-get-project-membership","parameters":[{"description":"ID of the ProjectMembership to be retrieved.","in":"path","name":"projectMembershipId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"}}},"description":""},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectMembership","tags":["Project"]},"patch":{"operationId":"project-update-project-membership","parameters":[{"description":"ID of the ProjectMembership to be updated.","in":"path","name":"projectMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"Time the ProjectMembership should expire at.","format":"date-time","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"}},"required":["role"],"type":"object"}}},"required":true},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a ProjectMembership.","tags":["Project"]}},"/v2/projects/{projectId}":{"delete":{"operationId":"project-delete-project","parameters":[{"description":"The ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Project.","tags":["Project"]},"get":{"operationId":"project-get-project","parameters":[{"description":"ID of the Project to be retrieved.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.Project"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project.","tags":["Project"]}},"/v2/servers/{serverId}/avatar":{"delete":{"operationId":"project-delete-server-avatar","parameters":[{"description":"ID of the Server to delete the avatar for.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Server's avatar.","tags":["Project"]},"post":{"operationId":"project-request-server-avatar-upload","parameters":[{"description":"ID of the Server to request an avatar upload for.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"$ref":"#/components/schemas/de.mittwald.v1.project.AvatarRules"}},"required":["refId","rules"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a Server avatar upload.","tags":["Project"]}},"/v2/projects/{projectId}/filesystem-directories":{"get":{"operationId":"project-file-system-get-directories","parameters":[{"description":"ID of the Project to list the directories for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"The directory to start listing subdirectories from.","in":"query","name":"directory","required":false,"schema":{"type":"string"}},{"description":"Search for specific filenames, only. The name may be a glob expression.","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"The nesting depth for recursively listing directory contents.","in":"query","name":"max_depth","required":false,"schema":{"type":"integer"}},{"description":"One of file or directory (may be specified multiple times), to restrict results to directory items of this specific type.","in":"query","name":"type","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Set to true to constrain search results to executable files.","in":"query","name":"executable","required":false,"schema":{"type":"boolean"}},{"description":"Set to true to include hidden files. (with . prefix in the search results).","in":"query","name":"hidden","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemDirectoryListing"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List directories belonging to a Project.","tags":["Project File System"]}},"/v2/projects/{projectId}/filesystem-disk-usage":{"get":{"operationId":"project-file-system-get-disk-usage","parameters":[{"description":"ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Starting directory for the disk usage calculation.","in":"query","name":"directory","required":false,"schema":{"example":"/home/example.log","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemUsagesDisk"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project directory filesystem usage.","tags":["Project File System"]}},"/v2/projects/{projectId}/filesystem-file-content":{"get":{"operationId":"project-file-system-get-file-content","parameters":[{"description":"ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Name of the file.","in":"query","name":"file","required":false,"schema":{"example":"/home/example.log","type":"string"}},{"description":"Set to true to serve the file with Content-Disposition: inline. Otherwise, it will be served with Content-Disposition: attachment. filename=...","in":"query","name":"inline","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project file's content.","tags":["Project File System"]}},"/v2/projects/{projectId}/jwt":{"get":{"operationId":"project-file-system-get-jwt","parameters":[{"description":"ID of the Project to retrieve an authorization token for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FsApiJwt"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project's file/filesystem authorization token.","tags":["Project File System"]}},"/v2/projects/{projectId}/filesystem-files":{"get":{"operationId":"project-file-system-list-files","parameters":[{"description":"ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Name of the file to retrieve.","in":"query","name":"file","required":false,"schema":{"example":"/home/example.log","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemDirectoryListing"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project file's information.","tags":["Project File System"]}},"/v2/project-token-invite":{"get":{"operationId":"project-get-project-token-invite","parameters":[{"description":"Token of the ProjectInvite to be retrieved.","in":"header","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectInvite by token.","tags":["Project"]}},"/v2/projects/{projectId}/memberships/self":{"get":{"operationId":"project-get-self-membership-for-project","parameters":[{"description":"ID of the Project to get the membership for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the executing user's membership in a Project.","tags":["Project"]}},"/v2/servers/{serverId}":{"get":{"operationId":"project-get-server","parameters":[{"description":"ID of the Server to be retrieved.","in":"path","name":"serverId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.Server"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Server.","tags":["Project"]}},"/v2/projects/{projectId}/leave":{"post":{"operationId":"project-leave-project","parameters":[{"description":"ID of the Project to be left.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Leave a Project.","tags":["Project"]}},"/v2/projects/{projectId}/memberships":{"get":{"operationId":"project-list-memberships-for-project","parameters":[{"description":"ID of the Project to list memberships for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Memberships belonging to a Project.","tags":["Project"]}},"/v2/project-invites":{"get":{"operationId":"project-list-project-invites","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List ProjectInvites belonging to the executing user.","tags":["Project"]}},"/v2/project-memberships":{"get":{"operationId":"project-list-project-memberships","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List ProjectMemberships belonging to the executing user.","tags":["Project"]}},"/v2/projects":{"get":{"operationId":"project-list-projects","parameters":[{"description":"ID of the Organization to list Projects for.","in":"query","name":"customerId","required":false,"schema":{"example":"15b8a787-8d46-43b0-907e-01af35032c0a","type":"string"}},{"description":"ID of the Server to list Projects for.","in":"query","name":"serverId","required":false,"schema":{"format":"uuid","type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"properties":{"backupStorageUsageInBytes":{"type":"integer"},"backupStorageUsageInBytesSetAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerId":{"type":"string"},"customerMeta":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"description":{"type":"string"},"disableReason":{"$ref":"#/components/schemas/de.mittwald.v1.project.DisableReason"},"disabledAt":{"format":"date-time","type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"imageRefId":{"type":"string"},"isReady":{"deprecated":true,"description":"deprecated","type":"boolean"},"projectHostingId":{"format":"uuid","type":"string"},"readiness":{"$ref":"#/components/schemas/de.mittwald.v1.project.DeprecatedProjectReadinessStatus"},"serverId":{"type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.project.ProjectStatus"},"statusSetAt":{"format":"date-time","type":"string"},"webStorageUsageInBytes":{"type":"integer"},"webStorageUsageInBytesSetAt":{"format":"date-time","type":"string"}},"required":["id","shortId","description","enabled","customerMeta","customerId","createdAt","isReady","readiness","status","statusSetAt","webStorageUsageInBytes","webStorageUsageInBytesSetAt","backupStorageUsageInBytes","backupStorageUsageInBytesSetAt"],"type":"object"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Projects belonging to the executing user.","tags":["Project"]}},"/v2/servers":{"get":{"operationId":"project-list-servers","parameters":[{"description":"ID of the Organization to list PlacementGroups for. If no ID is provided, the ID of the executing User is used instead.","in":"query","name":"customerId","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":10000,"minimum":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"minimum":0,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.project.Server"},"type":"array"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Servers belonging to the executing user.","tags":["Project"]}},"/v2/project-invites/{projectInviteId}/actions/resend":{"post":{"operationId":"project-resend-project-invite-mail","parameters":[{"description":"ID of the ProjectInvite to resend the mail for.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Resend the mail for a ProjectInvite.","tags":["Project"]}},"/v2/projects/{projectId}/description":{"patch":{"operationId":"project-update-project-description","parameters":[{"description":"ID of the Project to update the description for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"My new description!","type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Project's description.","tags":["Project"]}},"/v2/servers/{serverId}/description":{"patch":{"operationId":"project-update-server-description","parameters":[{"description":"ID of the Server to update the description of.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"My first Server!","type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Servers's description.","tags":["Project"]}},"/v2/legacy-tariff-change":{"post":{"operationId":"relocation-create-legacy-tariff-change","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"pAccount":{"pattern":"^[pr][0-9]{2,8}$","type":"string"},"targetTariff":{"minLength":1,"type":"string"}},"required":["pAccount","targetTariff"],"type":"object"}}},"description":"","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"messageId":{"format":"uuid","type":"string"}},"required":["messageId"],"type":"object"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Register a tariff change for a legacy tariff.","tags":["Relocation"]}},"/v2/relocation":{"post":{"operationId":"relocation-create-relocation","description":"Give mittwald access to your Provider and let them move your Project to mittwald.","requestBody":{"content":{"application/json":{"schema":{"properties":{"additionalServices":{"properties":{"dataCompare":{"enum":["default","additionalCompare"],"type":"string"}},"required":["dataCompare"],"type":"object"},"allDomains":{"description":"Should all project releated domains should be transferred to mittwald?","type":"boolean"},"allowPasswordChange":{"description":"Has to be true. Do you accept that our mittwald team can change and get password from your current provider?","type":"boolean"},"articleType":{"description":"Type of the article you want to relocate.","enum":["cms-hosting","cms-hosting-express","onlineshop","onlineshop-express"],"type":"string"},"contact":{"properties":{"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"minLength":1,"type":"string"},"lastName":{"minLength":1,"type":"string"},"phoneNumber":{"pattern":"|^\\+([0-9]{2,3}|1)-[0-9]{2,5}-[0-9]+$","type":"string"}},"required":["firstName","lastName","email"],"type":"object"},"domains":{"description":"List of domains which should be transferred (when allDomains is not checked).","items":{"$ref":"#/components/schemas/de.mittwald.v1.directus.Domain"},"type":"array"},"notes":{"description":"Anything our customer service needs to know for the relocation process.","type":"string"},"prices":{"properties":{"positions":{"items":{"properties":{"name":{"minLength":1,"type":"string"},"price":{"minimum":0,"type":"number"}},"required":["name","price"],"type":"object"},"type":"array"},"total":{"minimum":0,"type":"number"}},"required":["positions","total"],"type":"object"},"provider":{"properties":{"loginUrl":{"description":"Url to the control panel of the provider","minLength":1,"type":"string"},"name":{"description":"Name of your provider","oneOf":[{"minLength":1,"type":"string"},{"enum":["1und1","strato"],"type":"string"}]},"password":{"minLength":1,"type":"string"},"sourceAccount":{"description":"Which account of your provider should be moved?","minLength":1,"type":"string"},"userName":{"description":"Login name to your provider","minLength":1,"type":"string"}},"required":["name","loginUrl","userName","password","sourceAccount"],"type":"object"},"target":{"properties":{"organisation":{"description":"Your customer or organisation number","minLength":1,"type":"string"},"product":{"description":"Help our customer service finding your target account","oneOf":[{"minLength":1,"type":"string"},{"enum":["Space-Server","proSpace","Agentur-Server","CMS-Hosting","Shop-Hosting"],"type":"string"}],"type":"string"},"projectName":{"description":"In which p-account or short project id your project should be moved.","minLength":1,"type":"string"},"system":{"description":"Which mittwald system does the targetProject use?","enum":["kc","mstudio"],"type":"string"}},"required":["organisation","projectName","system","product"],"type":"object"}},"required":["articleType","additionalServices","prices","provider","contact","target","allowPasswordChange"],"type":"object"}}},"description":"","required":true},"responses":{"204":{"description":"No content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Relocate an external Project to mittwald.","tags":["Relocation"]}},"/v2/projects/{projectId}/sftp-users":{"post":{"operationId":"sftp-user-create-sftp-user","parameters":[{"description":"ID of the Project to create an SFTPUser for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accessLevel":{"enum":["read","full"],"type":"string"},"authentication":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.Authentication"},"description":{"type":"string"},"directories":{"items":{"type":"string"},"minItems":1,"type":"array"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description","authentication","directories"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SftpUser"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an SFTPUser for a Project.","tags":["SSH/SFTP User"]},"get":{"operationId":"sftp-user-list-sftp-users","parameters":[{"description":"ID of the Project to request SFTPUsers for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SftpUser"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all SFTPUsers for a Project.","tags":["SSH/SFTP User"]}},"/v2/sftp-users/{sftpUserId}":{"delete":{"operationId":"sftp-user-delete-sftp-user","parameters":[{"description":"ID of the SFTPUser to be deleted.","in":"path","name":"sftpUserId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an SFTPUser.","tags":["SSH/SFTP User"]},"get":{"operationId":"sftp-user-get-sftp-user","parameters":[{"description":"ID of the SFTPUser to get.","in":"path","name":"sftpUserId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SftpUser"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an SFTPUser.","tags":["SSH/SFTP User"]},"patch":{"operationId":"sftp-user-update-sftp-user","parameters":[{"description":"ID of the SFTPUser to be updated.","in":"path","name":"sftpUserId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accessLevel":{"enum":["read","full"],"type":"string"},"active":{"type":"boolean"},"description":{"type":"string"},"directories":{"items":{"type":"string"},"minItems":1,"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"password":{"maxLength":72,"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an SFTPUser.","tags":["SSH/SFTP User"]}},"/v2/projects/{projectId}/ssh-users":{"post":{"operationId":"ssh-user-create-ssh-user","parameters":[{"description":"ID of the Project to create an SSHUser for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"authentication":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.Authentication"},"description":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description","authentication"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SshUser"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an SSHUser for a Project.","tags":["SSH/SFTP User"]},"get":{"operationId":"ssh-user-list-ssh-users","parameters":[{"description":"ID of the Project to retrieve SSHUsers for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SshUser"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all SSHUsers for a Project.","tags":["SSH/SFTP User"]}},"/v2/ssh-users/{sshUserId}":{"delete":{"operationId":"ssh-user-delete-ssh-user","parameters":[{"description":"ID of the SSHUser to be deleted.","in":"path","name":"sshUserId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an SSHUser.","tags":["SSH/SFTP User"]},"get":{"operationId":"ssh-user-get-ssh-user","parameters":[{"description":"ID of the SSHUser to be retrieved.","in":"path","name":"sshUserId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SshUser"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an SSHUser.","tags":["SSH/SFTP User"]},"patch":{"operationId":"ssh-user-update-ssh-user","parameters":[{"description":"ID of the SSHUser to be updated.","in":"path","name":"sshUserId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"},"description":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"password":{"maxLength":72,"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an SSHUser.","tags":["SSH/SFTP User"]}},"/v2/certificates/{certificateId}/actions/check-replace-certificate":{"post":{"operationId":"ssl-check-replace-certificate","description":"Checks the replacement of a Certificate and shows differences between the current and the new Certificate.","parameters":[{"in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"type":"string"},"privateKey":{"type":"string"}},"required":["certificate"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceCertificateResponse"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check the replacement of a Certificate.","tags":["Domain"]}},"/v2/certificate-requests":{"post":{"operationId":"ssl-create-certificate-request","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequestCreateRequest"},{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequestCreateWithCSRRequest"}]}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequestCreateResponse"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.ssl.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a CertificateRequest.","tags":["Domain"]},"get":{"operationId":"ssl-list-certificate-requests","parameters":[{"description":"ID of the Project to list Certificate Requests for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Ingress to list Certificate Requests for.","in":"query","name":"ingressId","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequest"},"type":"array"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CertificateRequests belonging to a Project or an Ingress.","tags":["Domain"]}},"/v2/certificate-request/{certificateRequestId}":{"delete":{"operationId":"ssl-delete-certificate-request","parameters":[{"in":"path","name":"certificateRequestId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a CertificateRequest.","tags":["Domain"]}},"/v2/certificate/{certificateId}":{"delete":{"operationId":"ssl-delete-certificate","parameters":[{"in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Certificate.","tags":["Domain"]}},"/v2/certificate-requests/{certificateRequestId}":{"get":{"operationId":"ssl-get-certificate-request","parameters":[{"description":"ID of the CertificateRequest to be retrieved.","in":"path","name":"certificateRequestId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequest"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CertificateRequest.","tags":["Domain"]}},"/v2/certificates/{certificateId}":{"get":{"operationId":"ssl-get-certificate","parameters":[{"description":"ID of the SSL Certificate to be retrieved.","in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Certificate"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Certificate.","tags":["Domain"]},"put":{"operationId":"ssl-replace-certificate","parameters":[{"in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"type":"string"},"privateKey":{"type":"string"}},"required":["certificate"],"type":"object"}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.ssl.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Certificate.","tags":["Domain"]}},"/v2/certificates":{"get":{"operationId":"ssl-list-certificates","parameters":[{"description":"ID of the Project to list Certificates for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Ingress to list Certificates for.","in":"query","name":"ingressId","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Certificate"},"type":"array"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Certificates belonging to a Project or an Ingress.","tags":["Domain"]}},"/v2/certificate-requests/{certificateRequestId}/certificate":{"patch":{"operationId":"ssl-set-certificate-request-certificate","parameters":[{"in":"path","name":"certificateRequestId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"type":"string"}},"required":["certificate"],"type":"object"}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.ssl.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the certificate of a CertificateRequest.","tags":["Domain"]}},"/v2/users/{userId}/phone":{"post":{"operationId":"user-add-phone-number","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"phoneNumber":{"example":"+491701234567","type":"string"}},"required":["phoneNumber"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Phone number was added successfully. Now, it can be verified via /v2/users/:userId/actions/verify-phone."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Add phone number and start verification process.","tags":["User"]},"delete":{"operationId":"user-remove-phone-number","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"PhoneNumber removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove phone number.","tags":["User"]}},"/v2/authenticate-mfa":{"post":{"operationId":"user-authenticate-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The email of the user.","example":"a.lovelace@example.com","format":"email","type":"string"},"multiFactorCode":{"description":"The second factor - otp code or recovery code.","example":"123456","maxLength":16,"minLength":6,"type":"string"},"password":{"description":"The password of the user.","type":"string"}},"required":["multiFactorCode","email","password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expires":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the api gateway.","type":"string"}},"required":["token","refreshToken","expires"],"type":"object"}}},"description":"Your authentication request was successful and you've got an access token."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible your multiFactorCode is not valid\n"},"408":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["FirstAuthenticationFactorExpired"],"type":"string"}},"type":"object"}]}}},"description":"Your first factor has been expired. Please call '/authentication' again\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Validate your second factor.","tags":["User"]}},"/v2/authenticate":{"post":{"operationId":"user-authenticate","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The users Email-Address.","example":"a.lovelace@example.com","type":"string"},"password":{"description":"Password of the User.","type":"string"}},"required":["email","password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expires":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the api gateway.","type":"string"}},"required":["token","refreshToken","expires"],"type":"object"}}},"description":"Your authentication request was successfull and you've got an access token."},"202":{"content":{"application/json":{"schema":{"properties":{"name":{"enum":["SecondFactorRequired"],"type":"string"}},"type":"object"}}},"description":"Multi factor authentication is activated for this user. After calling this, you need to call '/authentication/mfa' with a valid multi factor code.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Authentication failed because of wrong credentials.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Authenticate yourself to get an access token.","tags":["User"]}},"/v2/authenticate-token-retrieval-key":{"post":{"operationId":"user-authenticate-with-access-token-retrieval-key","requestBody":{"content":{"application/json":{"schema":{"properties":{"accessTokenRetrievalKey":{"maxLength":37,"minLength":37,"type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","accessTokenRetrievalKey","refreshToken"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the public api.","type":"string"}},"required":["token","refreshToken","expiresAt"],"type":"object"}}},"description":"Your authentication request was successful and you've got an access token."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Authenticate an user with an access token retrieval key.","tags":["User"]}},"/v2/users/self/credentials/email":{"put":{"operationId":"user-change-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The new Email-Address","example":"ada.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Your email has been added, but needs to be verfied. Check your mails and\ncall /email/verify with the verification code sent with the mail.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailInUse\n * EmailBlacklisted\n * EmailMXInvalid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your Email-Address.","tags":["User"]},"get":{"operationId":"user-get-own-email","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"email":{"example":"a.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"description":"Your Email-Address."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your verified Email-Address.","tags":["User"]}},"/v2/users/self/credentials/password":{"put":{"operationId":"user-change-password","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.\nThis is optional, depending on the MFA activation status of the profile.\n","example":"123456","maxLength":16,"minLength":6,"type":"string"},"newPassword":{"description":"The new password.","type":"string"},"oldPassword":{"description":"The old password.","type":"string"}},"required":["oldPassword","newPassword"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expires":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token once it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the api gateway.","type":"string"}},"required":["token","expires"],"type":"object"}}},"description":"Your password has been changed."},"202":{"$ref":"#/components/responses/de.mittwald.v1.signup.SecondFactorRequiredError"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailAddressNotVerified\n * WrongPassword\n * SamePassword\n * PasswordIsLeaked\n * MfaCodeNotValid\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your password.","tags":["User"]}},"/v2/users/self/credentials/token":{"post":{"operationId":"user-check-token","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"},"publicToken":{"type":"string"}},"required":["id","publicToken"],"type":"object"}}},"description":"Your token is valid."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check token for validity.","tags":["User"]}},"/v2/users/self/credentials/mfa":{"post":{"operationId":"user-confirm-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.","example":"123456","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"recoveryCodesList":{"items":{"example":1234123412341234,"maxLength":16,"minLength":16,"type":"string"},"maxItems":20,"minItems":20,"type":"array"}},"required":["recoveryCodesList"],"type":"object"}}},"description":"Mfa is now activated and recovery codes are in the response body."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailAddressNotVerified\n * MfaNotInitialized\n * MfaAlreadyConfirmed\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Confirm Multi Factor Authentication.","tags":["User"]},"delete":{"operationId":"user-disable-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Multi Factor Authentication was disabled."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * MultiFactorCodeNotValid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable Multi Factor Authentication.","tags":["User"]},"get":{"operationId":"user-get-mfa-status","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"confirmed":{"type":"boolean"},"initialized":{"type":"boolean"}},"required":["initialized","confirmed"],"type":"object"}}},"description":"Multi factor auth status"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your current multi factor auth status.","tags":["User"]},"put":{"operationId":"user-reset-recoverycodes","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to authorize your request.","example":"123456","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"recoveryCodesList":{"items":{"example":1234123412341234,"maxLength":16,"minLength":16,"type":"string"},"maxItems":20,"minItems":20,"type":"array"}},"required":["recoveryCodesList"],"type":"object"}}},"description":"Recovery-Codes are reset now. The new Recovery-Codes are in the response body."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * MultiFactorCodeNotValid\n * MfaNotInitialized\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Reset RecoveryCodes for MFA.","tags":["User"]}},"/v2/users/self/credentials/password/confirm-reset":{"post":{"operationId":"user-confirm-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"description":"The new password.","type":"string"},"token":{"description":"Password reset token","maxLength":6,"minLength":6,"type":"string"},"userId":{"description":"UserId of the user to reset the password for.","format":"uuid","type":"string"}},"required":["userId","token","password"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Password reset was successful."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongPasswordResetToken\n * EmailAddressNotVerified\n * PasswordIsLeaked\n * ValidationError\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Confirm password reset.","tags":["User"]}},"/v2/users/self/api-tokens":{"post":{"operationId":"user-create-api-token","requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"Api Token - read","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"roles":{"description":"Determines the access rights of the ApiToken.","example":{"value":["api_read"]},"items":{"enum":["api_read","api_write"],"type":"string"},"minItems":1,"type":"array","uniqueItems":true}},"required":["roles","description"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"token":{"description":"The `ApiToken`.","type":"string"}},"required":["token"],"type":"object"}}},"description":"ApiToken was added."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Store a new ApiToken.","tags":["User"]},"get":{"operationId":"user-list-api-tokens","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.signup.ApiToken"},"type":"array"}}},"description":"A list of ApiTokens."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List all of your ApiTokens.","tags":["User"]}},"/v2/users/self/feedback":{"post":{"operationId":"user-create-feedback","requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"Personal feedback message.","maxLength":5000,"type":"string"},"origin":{"description":"Origin of the feedback.","example":"https://studio.mittwald.de/app/dashboard","maxLength":1000,"type":"string"},"subject":{"description":"Descriptive subject.","maxLength":100,"type":"string"},"type":{"description":"Type of feedback.","enum":["feedback","bug"],"type":"string"},"vote":{"description":"Feedback rating from bad to good. Set to 0 or skip this field to not vote at all.","maximum":10,"minimum":0,"type":"number"}},"required":["subject"],"type":"object"}}},"description":"The feedback to give."},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Feedback successfully submitted."},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Submit your user feedback.","tags":["User"]}},"/v2/users/self/ssh-keys":{"post":{"operationId":"user-create-ssh-key","requestBody":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"publicKey":{"example":"ssh-rsa ...","type":"string"}},"required":["publicKey"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The ssh-key was stored."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Store a new ssh-key.","tags":["User"]},"get":{"operationId":"user-list-ssh-keys","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"sshKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.signup.SshKey"},"type":"array"}},"type":"object"}}},"description":"The list of stored ssh-keys."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your stored ssh-keys.","tags":["User"]}},"/v2/users/self/api-tokens/{apiTokenId}":{"delete":{"operationId":"user-delete-api-token","parameters":[{"description":"The uuid of an ApiToken.","in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The `ApiToken` has been deleted."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Deletes an ApiToken.","tags":["User"]},"put":{"operationId":"user-edit-api-token","parameters":[{"in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"Api Token for ...","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description"],"type":"object"}}},"required":true},"responses":{"204":{"description":"ApiToken was updated."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an existing `ApiToken`.","tags":["User"]},"get":{"operationId":"user-get-api-token","parameters":[{"description":"The id of an ApiToken.","in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.signup.ApiToken"}}},"description":"The ApiToken."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a specific ApiToken.","tags":["User"]}},"/v2/users/self/ssh-keys/{sshKeyId}":{"delete":{"operationId":"user-delete-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The ssh-key has been removed."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove a ssh-key.","tags":["User"]},"put":{"operationId":"user-edit-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"comment":{"example":"a.lovelace@example.com","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["comment"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The ssh-key has been edited."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Edit a stored ssh-key.","tags":["User"]},"get":{"operationId":"user-get-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"sshKey":{"$ref":"#/components/schemas/de.mittwald.v1.signup.SshKey"}},"required":["sshKey"],"type":"object"}}},"description":"The requested ssh-key."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a specific stored ssh-key.","tags":["User"]}},"/v2/users/self":{"delete":{"operationId":"user-delete-user","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to authorize your request.","example":"123456","maxLength":16,"minLength":6,"type":"string"},"password":{"type":"string"}},"required":["password"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Your user has been deleted."},"202":{"$ref":"#/components/responses/de.mittwald.v1.signup.SecondFactorRequiredError"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * WrongPassword\n * MfaCodeNotValid\n"},"409":{"$ref":"#/components/responses/de.mittwald.v1.signup.RemovingLastOwnerNotAllowedError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete your account and all your personal data.","tags":["User"]}},"/v2/users/self/personal-information":{"get":{"operationId":"user-get-own-account","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.signup.Account"}}},"description":"Account information."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your account information.","tags":["User"]},"put":{"operationId":"user-update-account","requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Account has been updated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update your account information.","tags":["User"]}},"/v2/users/self/credentials/password-updated-at":{"get":{"operationId":"user-get-password-updated-at","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"passwordUpdatedAt":{"format":"date-time","type":"string"}},"required":["passwordUpdatedAt"],"type":"object"}}},"description":"Timestamp of latest password change."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"The timestamp of your latest password change.","tags":["User"]}},"/v2/users/{userId}/settings":{"get":{"operationId":"user-get-personalized-settings","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"example":"eyJvbmJvYXJkaW5nIjp7ImNvbXBsZXRlZCI6W119LCJyZWNlbnRWaXNpdHMiOnsicmVjZW50VmlzaXRzIjp7fSwicmVjZW50VmlzaXRlZFBhdGhzIjp7fX0sImNoYW5nZWxvZ3MiOnsicmVhZElkcyI6WzIsMSwzLDQsNSw2LDgsNyw5XX19","format":"base64","type":"string"}},"type":"object"}}},"description":"Personal settings of the user."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get personalized settings.","tags":["User"]},"put":{"operationId":"user-update-personalized-settings","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"example":"eyJvbmJvYXJkaW5nIjp7ImNvbXBsZXRlZCI6W119LCJyZWNlbnRWaXNpdHMiOnsicmVjZW50VmlzaXRzIjp7fSwicmVjZW50VmlzaXRlZFBhdGhzIjp7fX0sImNoYW5nZWxvZ3MiOnsicmVhZElkcyI6WzIsMSwzLDQsNSw2LDgsNyw5XX19","format":"base64","type":"string"}},"required":["settingsString"],"type":"object"}}},"required":true},"responses":{"204":{"description":"PersonalSettings have been updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update personalized GUI settings.","tags":["User"]}},"/v2/poll-settings/{userId}":{"get":{"operationId":"user-get-poll-status","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.poll.UserPollSettings"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get poll settings for the specified user.","tags":["User"]},"post":{"operationId":"user-post-poll-status","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"enum":["completed","muted","ignored"],"type":"string"},"userId":{"type":"string"}},"required":["userId","status"],"type":"object"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.poll.UserPollSettings"}}},"description":"The updated poll settings."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Store new or update poll settings.","tags":["User"]}},"/v2/users/self/sessions/{tokenId}":{"get":{"operationId":"user-get-session","parameters":[{"description":"TokenId to identify a specific session.","in":"path","name":"tokenId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.signup.UserSession"}}},"description":"The session."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a specific session.","tags":["User"]},"delete":{"operationId":"user-terminate-session","parameters":[{"description":"The sessionId is the id of the token used to create the session.","in":"path","name":"tokenId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Session terminated."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate a specific Session.","tags":["User"]}},"/v2/users/{userId}":{"get":{"operationId":"user-get-user","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.user.User"}}},"description":"The user profile."},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get profile information for a user.","tags":["User"]},"put":{"operationId":"user-update-personal-information","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Your personal information has been changed"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change personal information.","tags":["User"]}},"/v2/users/self/credentials/init-mfa":{"post":{"operationId":"user-init-mfa","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"barcode":{"description":"base64 encoded barcode content to scan from your mfa app. e.g. `iVBORw0KGgoAAAANSUhEUgAAAMgAAADIEAAAAADYoy...`. You\ncan display it with ``\n","type":"string"},"url":{"description":"Same as barcode, but in URL form.\n","example":"otpauth://totp/mStudio:test@gmail.com?algorithm=SHA1&digits=6&issuer=mStudio&period=30&secret=HTXT7KJFVNAJUPYWQRWMNVQE5AF5YZI2","type":"string"}},"required":["barcode","url"],"type":"object"}}},"description":"The process of activating Multi Factor Authentication is initialized."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailAddressNotVerified\n * MfaAlreadyConfirmed\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Initialize Multi Factor Authentication. If successful, it needs to be confirmed, before usage of mfa.","tags":["User"]}},"/v2/users/self/credentials/actions/init-password-reset":{"post":{"operationId":"user-init-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"Email address to reset the password for.","example":"a.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The password reset process has been initialized and an email with confirmation code has been sent.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Initialize password reset process.","tags":["User"]}},"/v2/users/{userId}/feedback":{"get":{"operationId":"user-list-feedback","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}},{"description":"Filter for subject content.","in":"query","name":"subject","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.user.UserFeedback"},"type":"array"}}},"description":"Feedback submitted by the user."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Submitted feedback of the given user.","tags":["User"]}},"/v2/users/self/sessions":{"get":{"operationId":"user-list-sessions","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.signup.UserSession"},"type":"array"}}},"description":"List of all sessions."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List all sessions.","tags":["User"]},"put":{"operationId":"user-refresh-session","requestBody":{"content":{"application/json":{"schema":{"properties":{"refreshToken":{"type":"string"}},"required":["refreshToken"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the public api.","type":"string"}},"required":["token","refreshToken","expiresAt"],"type":"object"}}},"description":"Your token refresh was successful and you've got new a new access token. The used one in this call is no longer valid."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Refresh a session.","tags":["User"]},"delete":{"operationId":"user-terminate-all-sessions","responses":{"204":{"description":"All sessions terminated."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate all sessions, except the current session.","tags":["User"]}},"/v2/logout":{"put":{"operationId":"user-logout","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"204":{"description":"You've been logged out. The access token has been removed and invalidated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate session and invalidate access token.","tags":["User"]}},"/v2/oauth2/authorize":{"get":{"operationId":"user-oauth-get-authorization","description":"The OAuth 2.0 client requests authorization from the resource owner according to\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749). The\nauthorization request is made indirectly via the authorization\nserver as an intermediary.\n","parameters":[{"description":"Access Token of the Resource Owner.\n","in":"cookie","name":"x-access-token","required":false,"schema":{"type":"string"}},{"description":"Can be set in combination with `Authorization`-Header to grant consent for the requested scopes.\nIf set to `true`, the scopes will be marked as consented and the authorization server will\nredirect the user-agent back to the client.\nIf set to `false`, the authorization server will redirect the user-agent back to the client with an\naccess denied error.\nIf not set and `Authorization`-Header is set, the user will be asked for consent.\n","in":"query","name":"grant_consent","required":false,"schema":{"type":"boolean"}},{"description":"The grant type. Must be set to `authorization_code` for this endpoint.\n","in":"query","name":"grant_type","required":false,"schema":{"enum":["authorization_code"],"type":"string"}},{"description":"The response type. Must be set to `code` for this endpoint.\n","in":"query","name":"response_type","required":true,"schema":{"enum":["code"],"type":"string"}},{"description":"The client identifier as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-2.2).\n","in":"query","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"The redirection URI to which the authorization server\ndirects the user-agent back after the authorization\nendpoint. Must be a valid URI.\n","in":"query","name":"redirect_uri","required":false,"schema":{"format":"uri","type":"string"}},{"description":"The scope of the access request as described by\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3).\n","in":"query","name":"scope","required":false,"schema":{"type":"string"}},{"description":"An opaque value used by the client to maintain state\nbetween the request and callback. The authorization server\nincludes this value when redirecting the user-agent back to\nthe client. The parameter SHOULD be used for preventing\ncross-site request forgery as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-10.12).\n","in":"query","name":"state","required":false,"schema":{"type":"string"}},{"description":"The code challenge as described by\n[RFC7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.2).\nIf the authorization code flow should be used with Proof Key for Code Exchange (PKCE), this parameter\n must be set and the code verifier has to be given to the token endpoint.\n","in":"query","name":"code_challenge","required":false,"schema":{"type":"string"}},{"description":"The code challenge method as described in\n[RFC7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.3).\nIf used, the code_challenge must be set as well and the code verifier\nhas to be given to the token endpoint\n","in":"query","name":"code_challenge_method","required":false,"schema":{"enum":["S256"],"type":"string"}}],"responses":{"302":{"description":"The authorization server redirects the user-agent by\nsending the HTTP response with status code 302 and the HTTP\n`Location`-Header field containing the authorization endpoint URI\nwith either the query parameters `code` added, if successful or `error`\nand `error_description` added, if not. Fore more Information see\n[Authorization Response](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2).\n"},"400":{"content":{"application/json":{"schema":{"properties":{"error":{"enum":["invalid_request"],"type":"string"},"error_description":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The request is missing a required parameter, includes an\ninvalid parameter value, includes a parameter more than\nonce, or is otherwise malformed.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Obtain authorization from the resource owner.","tags":["User"]}},"/v2/oauth2/token":{"post":{"operationId":"user-oauth-retrieve-access-token","description":"The OAuth 2.0 client retrieves an Access Token from an existing authorization code according to\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749).\n","parameters":[{"description":"The client credentials (`client_id` and `client_secret`), separated with a colon\nand base64 encoded as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-2.3.1).\nSubmitting the `client_id` and `client_secret` as request-body as suggested is forbidden.\n","in":"header","name":"Authorization","required":false,"schema":{"example":"Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=","type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"code":{"description":"The authorization code received from the authorization server.\n","type":"string"},"code_verifier":{"description":"The code verifier used to generate the code challenge as described in\n[RFC7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.1).\nIf the authorization flow was initiated with a code challenge, this parameter is required.\n","type":"string"},"grant_type":{"description":"The grant type as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3).\n","enum":["authorization_code"],"type":"string"},"redirect_uri":{"description":"The redirection URI used in the authorization request.\nMust be a valid URI.\n","format":"uri","type":"string"}},"required":["grant_type","redirect_uri","code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"access_token":{"description":"The access token issued by the authorization server.\n","type":"string"},"expires_in":{"description":"The lifetime in seconds of the access token. For\nexample, the value \"3600\" denotes that the access\ntoken will expire in one hour from the time the\nresponse was generated.\n","type":"integer"},"refresh_token":{"description":"The refresh token issued by the authorization server.\n","type":"string"},"scope":{"description":"The scope of the access token as described by\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3).\n","type":"string"},"token_type":{"description":"The type of the token issued as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-7.1).\n","enum":["bearer"],"type":"string"}},"required":["access_token","refresh_token","token_type","expires_in"],"type":"object"}}},"description":"The authorization server issues an access token as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-5.1).\n"},"400":{"content":{"application/json":{"schema":{"properties":{"error":{"enum":["invalid_request","invalid_client","invalid_grant","unauthorized_client","unsupported_grant_type","invalid_scope"],"type":"string"},"error_description":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The request of an access token is invalid as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-5.2).\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Retrieve Access Token from Authorization Code.","tags":["User"]}},"/v2/register":{"post":{"operationId":"user-register","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The users email address","format":"email","type":"string"},"password":{"description":"The users password.","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["email","password","person"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"userId":{"format":"uuid","type":"string"}},"required":["userId"],"type":"object"}}},"description":"Registration was successfull. A verification email will be sent to the specified email address.\nThe users can be used as soon as the verification link was opened\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailInUse\n * PasswordIsLeaked\n * ValidationError\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Register with email and password.","tags":["User"]}},"/v2/users/{userId}/avatar":{"delete":{"operationId":"user-remove-avatar","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Avatar removal was successful."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove Avatar.","tags":["User"]},"post":{"operationId":"user-request-avatar-upload","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"description":"The `refId` to be used to upload your avatar to the /v2/files/:refId route.","format":"uuid","type":"string"},"rules":{"description":"Contstraints for the avatar image upload.","properties":{"maxSizeInKB":{"description":"Maximum size in kilobytes of the avatar image.","example":3000,"type":"integer"},"mimeTypes":{"description":"List of supported mime types.","items":{"example":"image/png","type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"description":"Supported range of dimensions for the avatar image.","properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"}},"required":["refId","rules"],"type":"object"}}},"description":"Avatar upload request was successful."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a new avatar image upload.","tags":["User"]}},"/v2/users/self/credentials/email/actions/resend-email":{"post":{"operationId":"user-resend-verification-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"example":"ada.lovelace@example.com","format":"email","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","email"],"type":"object"}}},"required":true},"responses":{"204":{"description":"New Email-Address verification email was sent."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Resend the Email-Address verification email.","tags":["User"]}},"/v2/users/self/credentials/support-code":{"get":{"operationId":"user-support-code-request","parameters":[{"in":"query","name":"forceRecreate","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"Expiration of the support code","format":"date-time","type":"string"},"supportCode":{"description":"support code to authenticate yourself against the mittwald support via telephone","example":"123456","type":"string"}},"required":["supportCode","expiresAt"],"type":"object"}}},"description":"The requested support code and the expiry."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a support code.","tags":["User"]}},"/v2/users/self/credentials/email/actions/verify-email":{"post":{"operationId":"user-verify-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The Email-Address to verify.","example":"ada.lovelace@example.com","format":"email","type":"string"},"token":{"description":"The token found in the verification email.","example":"123456","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Email has been verified."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongVerificationToken\n * EmailNotFound\n * WrongVerificationToken\n * EmailAddressAlreadyVerified\n"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify an added Email-Address.","tags":["User"]}},"/v2/users/{userId}/actions/verify-phone":{"post":{"operationId":"user-verify-phone-number","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"example":"123456","maxLength":6,"minLength":6,"type":"string"},"phoneNumber":{"example":"+491701234567","type":"string"}},"required":["phoneNumber","code"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The phone number has been verified."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify phone number.","tags":["User"]}},"/v2/verify-registration":{"post":{"operationId":"user-verify-registration","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The users email address.","format":"email","type":"string"},"token":{"description":"The token that was send to your email address","example":123456,"maxLength":16,"minLength":6,"type":"string"},"userId":{"description":"UUID of the registered user.","format":"uuid","type":"string"}},"required":["email","token","userId"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"User is verified and you can now login to your user account.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * UserRegistrationAlreadyVerified\n * WrongVerificationToken\n"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Verify your registration.","tags":["User"]}},"/v2/actions/verify-address":{"post":{"operationId":"verification-verify-address","description":"Only the DACH region is currently supported.","requestBody":{"content":{"application/json":{"schema":{"properties":{"city":{"example":"Bremen","type":"string"},"country":{"description":"Accepts the whole english or german name as well as the ISO 3166-2 country codes.","example":"DE","type":"string"},"street":{"description":"Includes the house number.","example":"Bremer Straße 1","type":"string"},"zip":{"example":"28203","type":"string"}},"required":["street","zip","city","country"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"exists":{"type":"boolean"}},"required":["exists"],"type":"object"}}},"description":"Success"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal Server Error"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if an address exists.","tags":[]}},"/v2/actions/verify-company":{"post":{"operationId":"verification-verify-company","description":"Only companies registered in the german company register are currently supported.","requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"example":"Mittwald CM Service GmbH & Co. KG","type":"string"}},"required":["name"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"exists":{"type":"boolean"}},"required":["exists"],"type":"object"}}},"description":"Success"},"412":{"description":"Precondition Failed"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal Server Error"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check if a company exists.","tags":[]}},"/v2/cronjobs/{cronjobId}/executions/{executionId}/actions/abort":{"post":{"operationId":"deprecated-cronjob-abort-execution","deprecated":true,"parameters":[{"description":"ID of the CronjobExecution to be aborted.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"executionId","required":true,"schema":{"example":"cron-bd26li-28027320","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":"NoContent"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Abort a CronjobExecution.","tags":["Cronjob"]}}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}]} \ No newline at end of file +{"openapi":"3.0.0","info":{"title":"Mittwald API","description":"## Introduction\n\nThis OpenAPI spec documents the mittwald API. It follows the\n[OpenAPI 3.0.0 specification](https://spec.openapis.org/oas/v3.0.0.html).\n\n## Authentication\n\nYou will need an API token to access the API. You can obtain one by logging into the\n[mStudio](https://studio.mittwald.de) and navigating to the\n[\"API Tokens\" section in the user menu](https://studio.mittwald.de/app/profile/api-tokens).\n\nWhen making requests to the API, you can authenticate by passing your API token in the `X-Access-Token` header or as a\nbearer token.\n\n## Rate Limiting\n\nPlease note that usage of the API is rate-limited to prevent abuse. You can inspect the rate limiting for your current\nuser by observing the `X-Ratelimit-*` headers included in each response.\n\n## mStudio\n\nA main consumer of the mittwald API is the management interface for our customers, the\n[mStudio](https://studio.mittwald.de).\n\n## Contact and support\n\nFor support, please use the [mStudio support area](https://studio.mittwald.de/app/support/conversations) or drop us an\nemail at [support@mittwald.de](mailto:support@mittwald.de).\n\nFor security issues, please report to [security@mittwald.de](mailto:security@mittwald.de).\n","contact":{"name":"Mittwald CM Service GmbH & Co. KG"},"version":"2.0"},"tags":[{"name":"Project","description":"The project API allows you to manage your projects, and also any kinds of user memberships concerning these projects."},{"name":"Backup","description":"The backup API allows you to manage your project backups."},{"name":"SSH/SFTP User","description":"The SSH/SFTP User API allows you to manage your SSH/SFTP users within a project."},{"name":"Cronjob","description":"The cronjob API allows you to manage cronjobs within a project."},{"name":"App","description":"The App API allows you to manage your apps within a project, and all the system softwares that are installed as dependencies."},{"name":"Project File System","description":"The filesystem API allows you to directly access the filesystem of your project."},{"name":"Contract","description":"The contract API allows you to manage your contracts and orders"},{"name":"Database","description":"The database API allows you to manage your databases, like MySQL and Redis databases."},{"name":"Domain","description":"The domain API allows you to manage your domains, DNS records, SSL certificates and ingress resources."},{"name":"Conversation","description":"The conversation API allows you to manage your support conversations."},{"name":"Customer","description":"The customer API allows you to manage your own organizations and users."},{"name":"User","description":"The user API allows you to manage your own user and access information of other users that might be visible to you."},{"name":"Notification","description":"The notification API allows you to manage your notifications."},{"name":"File","description":"The file API allows you to manage your files, for example for conversations attachments and avatar uploads."},{"name":"Mail","description":"The mail API allows you to manage your mail accounts."},{"name":"Article","description":"The article API allows you to read article information."},{"name":"Container","description":"The container API allows you to manage your stacks, containers, volumes and registries."},{"name":"Page Insights","description":"The page insights API allows you to get page insights information."},{"name":"Relocation","description":"The relocation API allows you to manage your relocations."},{"name":"Marketplace","description":"The marketplace API allows you to manage extensions and more information regaring the marketplace."}],"components":{"callbacks":{},"examples":{},"headers":{},"links":{},"parameters":{},"requestBodies":{},"responses":{"de.mittwald.v1.app.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.customer.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.customer.FailedPreconditionError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}}},"description":"Failed Precondition"},"de.mittwald.v1.dns.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.domain.SuccessResponse":{"content":{"application/json":{"schema":{"properties":{"isAsync":{"type":"boolean"},"transactionId":{"type":"string"}},"type":"object"}}},"description":"OK"},"de.mittwald.v1.domain.TransferabilityResponse":{"content":{"application/json":{"schema":{"properties":{"reasons":{"properties":{"domainAgeTooSmall":{"type":"boolean"},"domainDoesNotExist":{"type":"boolean"},"transferLock":{"type":"boolean"},"wrongAuthCode":{"type":"boolean"}},"required":["domainDoesNotExist","wrongAuthCode","transferLock","domainAgeTooSmall"],"type":"object"},"transferable":{"type":"boolean"}},"required":["transferable","reasons"],"type":"object"}}},"description":"OK"},"de.mittwald.v1.invoice.EmptyResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Empty response"},"de.mittwald.v1.mail.EmptyResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Empty response"},"de.mittwald.v1.order.GenericResponse":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.order.NotFoundError":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"de.mittwald.v1.ssl.ValidationError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateError"}}},"description":"An unexpected Error that occurred while handling the request"},"de.mittwald.v1.signup.InternalServerError":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["InternalServerError"],"type":"string"}},"type":"object"}]}}},"description":"Something in our infrastructure went wrong\n"},"de.mittwald.v1.signup.NoValidAccessTokenError":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["NoAccessTokenProvided"],"type":"string"}},"type":"object"}]}}},"description":"No valid access token was provided"},"de.mittwald.v1.signup.RemovingLastOwnerNotAllowedError":{"content":{"application/json":{"schema":{"properties":{"info":{"description":"A json object, given further information about the error","example":{"customerId":"xyz"},"type":"object"},"message":{"description":"more information about the error","example":"The user cannot be removed because it is the last owner of the customer with the id 'xyz'","type":"string"},"name":{"example":"RemovingLastOwnerNotAllowedError","type":"string"}},"required":["name","message"],"type":"object"}}},"description":"Deleting the last owner of a customer is not allowed"},"de.mittwald.v1.signup.SecondFactorRequiredError":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["SecondFactorRequired"],"type":"string"}},"required":["name"],"type":"object"}]}}},"description":"An additional second factor code is necessary to process the request."},"de.mittwald.v1.commons.DefaultError":{"description":"An unexpected Error that occurred while handling the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}}}},"de.mittwald.v1.commons.NotFoundError":{"description":"The requested resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}}}},"de.mittwald.v1.commons.RateLimitError":{"description":"Your request ran into a rate limit. You have to wait until rate limit expires\n","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"too many requests"},"type":{"type":"string","example":"RateLimitError"}}}}}},"de.mittwald.v1.commons.ValidationError":{"description":"Validation Error caused by invalid input data in the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}}}},"schemas":{"de.mittwald.v1.app.Action":{"description":"An Action is a string that describes a runtime concerning action which can be executed on an AppInstallation or an App can be capable of.","enum":["start","stop","restart"],"type":"string"},"de.mittwald.v1.app.ActionCapabilities":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.Action"},"type":"array"},"de.mittwald.v1.app.App":{"description":"An App is to be understood as a manifest for AppInstallations. E.g. 'WordPress' only exists inside our ecosystem, because there is an App -Manifest for it.","properties":{"actionCapabilities":{"$ref":"#/components/schemas/de.mittwald.v1.app.ActionCapabilities"},"id":{"type":"string"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"required":["id","name","tags"],"type":"object"},"de.mittwald.v1.app.AppInstallationStatus":{"description":"AppInstallationStatus describes the overall runtime status of an AppInstallation.","properties":{"lastExitCode":{"type":"number"},"logFileLocation":{"type":"string"},"state":{"enum":["running","stopped","exited"],"type":"string"},"uptimeSeconds":{"type":"number"}},"required":["state","logFileLocation"],"type":"object"},"de.mittwald.v1.app.AppJobImage":{"properties":{"imageTemplate":{"type":"string"}},"required":["imageTemplate"],"type":"object"},"de.mittwald.v1.app.AppJobImages":{"properties":{"reconfigureImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"},"setupImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"},"uninstallImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"},"upgradeImage":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppJobImage"}},"required":["setupImage","upgradeImage","uninstallImage","reconfigureImage"],"type":"object"},"de.mittwald.v1.app.AppUpdatePolicy":{"description":"AppUpdatePolicy describes which updates should be applied automatically by our systems.","enum":["none","patchLevel","all"],"type":"string"},"de.mittwald.v1.app.AppInstallation":{"description":"An AppInstallation is a concrete manifestation of an App in a specific AppVersion.","properties":{"appId":{"format":"uuid","type":"string"},"appVersion":{"$ref":"#/components/schemas/de.mittwald.v1.app.VersionStatus"},"customDocumentRoot":{"type":"string"},"description":{"type":"string"},"disabled":{"default":false,"type":"boolean"},"id":{"format":"uuid","type":"string"},"installationPath":{"type":"string"},"linkedDatabases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.LinkedDatabase"},"type":"array"},"processes":{"items":{"format":"uuid","type":"string"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"screenshotId":{"format":"uuid","type":"string"},"screenshotRef":{"type":"string"},"shortId":{"example":"a-XXXXXX","type":"string"},"systemSoftware":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.InstalledSystemSoftware"},"type":"array"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"required":["id","appId","shortId","appVersion","description","installationPath","disabled"],"type":"object"},"de.mittwald.v1.app.AppInstallationInternal":{"description":"An AppInstallation is a concrete manifestation of an App in a specific AppVersion.","properties":{"appId":{"format":"uuid","type":"string"},"appVersion":{"$ref":"#/components/schemas/de.mittwald.v1.app.VersionStatus"},"customDocumentRoot":{"type":"string"},"description":{"type":"string"},"disabled":{"default":false,"type":"boolean"},"id":{"format":"uuid","type":"string"},"installationPath":{"type":"string"},"linkedDatabases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.LinkedDatabase"},"type":"array"},"processRunningSince":{"format":"date-time","type":"string"},"processes":{"items":{"format":"uuid","type":"string"},"type":"array"},"projectEnvironment":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"screenshotId":{"format":"uuid","type":"string"},"screenshotRef":{"type":"string"},"shortId":{"example":"a-XXXXXX","type":"string"},"systemSoftware":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.InstalledSystemSoftware"},"type":"array"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"required":["id","appId","shortId","appVersion","description","installationPath","disabled"],"type":"object"},"de.mittwald.v1.app.AppInstallationLifecycle":{"description":"The AppInstallationLifecycle can be used to express a specific point in the AppInstallation Lifecycle, e.g. while installing a new AppInstallation.","enum":["installation","update","reconfigure"],"type":"string"},"de.mittwald.v1.app.AppVersion":{"description":"An AppVersion is an officially supported version of an App, containing the necessary and recommended configuration und dependencies.","properties":{"appId":{"format":"uuid","type":"string"},"breakingNote":{"$ref":"#/components/schemas/de.mittwald.v1.app.BreakingNote"},"databases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.DatabaseDependency"},"type":"array"},"docRoot":{"type":"string"},"docRootUserEditable":{"type":"boolean"},"externalVersion":{"type":"string"},"id":{"format":"uuid","type":"string"},"internalVersion":{"type":"string"},"recommended":{"type":"boolean"},"requestHandler":{"$ref":"#/components/schemas/de.mittwald.v1.app.RequestHandlerRequirement"},"systemSoftwareDependencies":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareDependency"},"type":"array","uniqueItems":true},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInput"},"type":"array","uniqueItems":true}},"required":["id","appId","externalVersion","internalVersion","docRoot","docRootUserEditable"],"type":"object"},"de.mittwald.v1.app.BreakingNote":{"description":"A BreakingNote is a hint that something serious has changed in the AppVersion containing it, so an automatic update is not possible.","properties":{"faqLink":{"format":"uri","type":"string"}},"required":["faqLink"],"type":"object"},"de.mittwald.v1.app.DatabaseDependency":{"description":"A DatabaseDependency is a generic description of need for a database, used by AppVersions.","properties":{"description":{"type":"string"},"kind":{"enum":["mysql"],"type":"string"},"parameters":{"additionalProperties":{"type":"string"},"type":"object"},"version":{"format":"uuid","type":"string"}},"required":["version","description","kind"],"type":"object"},"de.mittwald.v1.app.Error":{"properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.app.InstalledSystemSoftware":{"description":"InstalledSystemSoftware describes the currently configured and installed SystemSoftwareVersion of a SystemSoftware besides the desired SystemSoftwareUpdatePolicy inside an AppInstallation.","properties":{"systemSoftwareId":{"format":"uuid","type":"string"},"systemSoftwareVersion":{"$ref":"#/components/schemas/de.mittwald.v1.app.VersionStatus"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareUpdatePolicy"}},"required":["systemSoftwareId","updatePolicy","systemSoftwareVersion"],"type":"object"},"de.mittwald.v1.app.LinkedDatabase":{"description":"LinkedDatabase is a reference to a concrete Database and DatabaseUsers.","properties":{"databaseId":{"format":"uuid","type":"string"},"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"},"kind":{"enum":["mysql","redis"],"type":"string"},"purpose":{"enum":["primary","cache","custom"],"type":"string"}},"required":["databaseId","purpose","kind"],"type":"object"},"de.mittwald.v1.app.RequestHandlerRequirement":{"description":"RequestHandlerRequirement describes the necessary properties to internally resolve the request handler or process to start.","properties":{"exampleValues":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"},"name":{"type":"string"},"namespace":{"type":"string"},"parametersTemplate":{"type":"string"}},"required":["name","namespace","parametersTemplate"],"type":"object"},"de.mittwald.v1.app.SavedUserInput":{"description":"A SavedUserInput is an entered value for a desired UserInput of an AppVersion or SystemSoftwareVersion.","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.app.SystemSoftwareDependency":{"description":"A SystemSoftwareDependency is a description of a need for a specific SystemSoftware in a semver versionRange.","properties":{"systemSoftwareId":{"format":"uuid","type":"string"},"versionRange":{"type":"string"}},"required":["systemSoftwareId","versionRange"],"type":"object"},"de.mittwald.v1.app.SystemSoftwareUpdatePolicy":{"description":"SystemSoftwareUpdatePolicy describes which updates should be applied automatically by our systems.","enum":["none","inheritedFromApp","patchLevel","all"],"type":"string"},"de.mittwald.v1.app.SystemSoftware":{"description":"A SystemSoftware is a software that can be installed for an AppInstallation but mostly is not itself externally reachable and/or deliverable.","properties":{"id":{"type":"string"},"meta":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"required":["id","name","tags"],"type":"object"},"de.mittwald.v1.app.SystemSoftwareVersion":{"description":"A SystemSoftwareVersion is an officially supported version of a SystemSoftware, containing the necessary and recommended configuration und dependencies.","properties":{"expiryDate":{"format":"date-time","type":"string"},"externalVersion":{"type":"string"},"fee":{"$ref":"#/components/schemas/de.mittwald.v1.fee.FeeStrategy"},"id":{"format":"uuid","type":"string"},"internalVersion":{"type":"string"},"recommended":{"type":"boolean"},"systemSoftwareDependencies":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareDependency"},"type":"array"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInput"},"type":"array"}},"required":["id","internalVersion","externalVersion"],"type":"object"},"de.mittwald.v1.app.UserInput":{"description":"A UserInput is a description of an information which cannot be determined or estimated by mittwald, but has to be given by the person who is requesting an AppInstallation or SystemSoftware.","properties":{"dataSource":{"description":"Optional field to tell the frontend, which data to put into the select.","type":"string"},"dataType":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInputDataType"},"defaultValue":{"type":"string"},"format":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInputFormat"},"lifecycleConstraint":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallationLifecycle"},"name":{"type":"string"},"positionMeta":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInputPositionMeta"},"required":{"type":"boolean"},"validationSchema":{"description":"JSON Schema formatted (https://json-schema.org/).","type":"string"}},"required":["name","dataType","validationSchema","lifecycleConstraint","required"],"type":"object"},"de.mittwald.v1.app.UserInputDataType":{"description":"UserInputDataType is an enum, describing the possible data types of a UserInput.","enum":["text","number","boolean","select"],"type":"string"},"de.mittwald.v1.app.UserInputFormat":{"description":"UserInputFormat is an enum, describing the possible data formats of a UserInput, the given values can be validated against.","enum":["email","password","url","uri"],"type":"string"},"de.mittwald.v1.app.UserInputPositionMeta":{"description":"UserInputPositionMeta is a utility information, helping to position the UserInput properly on the frontend.","properties":{"index":{"type":"number"},"section":{"type":"string"},"step":{"type":"string"}},"type":"object"},"de.mittwald.v1.app.VersionStatus":{"description":"VersionStatus describes the current and desired version of something like the AppVersion of an AppInstallation. If diverging, an internal process is going to assert, the current value will be aligned.","properties":{"current":{"type":"string"},"desired":{"type":"string"}},"required":["desired"],"type":"object"},"de.mittwald.v1.backup.BackupTemplate":{"properties":{"expirationTime":{"format":"date-time","type":"string"},"ignoredSources":{"$ref":"#/components/schemas/de.mittwald.v1.backup.IgnoredSources"}},"required":["expirationTime"],"type":"object"},"de.mittwald.v1.backup.DatabaseReference":{"properties":{"kind":{"type":"string"},"name":{"type":"string"}},"required":["kind","name"],"type":"object"},"de.mittwald.v1.backup.IgnoredSources":{"properties":{"databases":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.backup.DatabaseReference"},"type":"array"},"files":{"type":"boolean"}},"required":["files"],"type":"object"},"de.mittwald.v1.backup.ProjectBackup":{"properties":{"createdAt":{"format":"date-time","type":"string"},"deletable":{"type":"boolean"},"description":{"example":"I'm a ProjectBackup","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"export":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupExport"},"id":{"format":"uuid","type":"string"},"parentId":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"},"status":{"example":"Completed","type":"string"}},"required":["id","projectId","status","deletable"],"type":"object"},"de.mittwald.v1.backup.ProjectBackupExport":{"properties":{"downloadURL":{"format":"url","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"format":{"example":"tar","type":"string"},"phase":{"enum":["","Pending","Exporting","Failed","Completed","Expired"],"example":"Completed","type":"string"},"withPassword":{"type":"boolean"}},"required":["format","withPassword"],"type":"object"},"de.mittwald.v1.backup.ProjectBackupSchedule":{"properties":{"createdAt":{"format":"date-time","type":"string"},"description":{"description":"Description of this ProjectBackupSchedule.","example":"I'm a ProjectBackupSchedule","type":"string"},"id":{"description":"ID of this ProjectBackupSchedule.","format":"uuid","type":"string"},"isSystemBackup":{"description":"True if this ProjectBackupSchedule was created and is managed by mittwald.","type":"boolean"},"projectId":{"description":"ID of the Project this ProjectBackupSchedule belongs to.","format":"uuid","type":"string"},"schedule":{"description":"Execution schedule in crontab notation.","example":"5 4 * * *","type":"string"},"ttl":{"description":"TTL of the ProjectBackupSchedule as time string.","example":"7d","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","projectId","schedule","isSystemBackup"],"type":"object"},"de.mittwald.v1.container.CreateRegistry":{"properties":{"credentials":{"$ref":"#/components/schemas/de.mittwald.v1.container.SetRegistryCredentials"},"description":{"example":"DockerHub","type":"string"},"uri":{"example":"index.docker.io","type":"string"}},"required":["uri","description"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfig":{"properties":{"command":{"description":"Command of the container image.","items":{"example":"mysqld","type":"string"},"type":"array"},"entrypoint":{"description":"Entrypoint of the container image.","items":{"example":"docker-entrypoint.sh","type":"string"},"type":"array"},"env":{"description":"List of environment variables the container image has.","items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfigEnv"},"type":"array"},"exposedPorts":{"description":"List of exposed ports the container image has.","items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfigExposedPort"},"type":"array"},"hasAiGeneratedData":{"description":"Whether the image config has ai generated data.","example":true,"type":"boolean"},"isUserRoot":{"description":"Whether the container user is root.","example":false,"type":"boolean"},"overwritingUser":{"description":"If set, this user will be used to run the container.","example":1000,"type":"integer"},"user":{"description":"The user the container image is running with.","example":"mysql","type":"string"},"volumes":{"description":"List of volumes the container image has.","items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfigVolume"},"type":"array"}},"required":["user","isUserRoot","hasAiGeneratedData"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfigEnv":{"properties":{"description":{"description":"The description of the env key.","example":"The mysql user password.","type":"string"},"isAiGenerated":{"description":"Whether the env has been ai generated.","example":true,"type":"boolean"},"isSensitive":{"description":"Whether the env key is a sensitive field, e.g. password fields.","example":true,"type":"boolean"},"key":{"description":"The env key.","example":"MYSQL_PASSWORD","type":"string"},"value":{"description":"The env default value.","example":"my_password","type":"string"}},"required":["key","isAiGenerated"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfigExposedPort":{"properties":{"description":{"description":"The description of the exposed port.","example":"The mysql connection port.","type":"string"},"isAiGenerated":{"description":"Whether the port has been ai generated.","example":true,"type":"boolean"},"port":{"description":"The exposed port.","example":"3306/tcp","type":"string"}},"required":["port","isAiGenerated"],"type":"object"},"de.mittwald.v1.container.ContainerImageConfigVolume":{"properties":{"description":{"description":"The description of the volume path.","example":"The mysql database files.","type":"string"},"isAiGenerated":{"description":"Whether the volume has been ai generated.","example":true,"type":"boolean"},"volume":{"description":"The volume path.","example":"/var/lib/mysql","type":"string"}},"required":["volume","isAiGenerated"],"type":"object"},"de.mittwald.v1.container.Registry":{"properties":{"credentials":{"$ref":"#/components/schemas/de.mittwald.v1.container.RegistryCredentials"},"description":{"example":"DockerHub","type":"string"},"id":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"},"uri":{"example":"index.docker.io","type":"string"}},"required":["id","projectId","uri","description"],"type":"object"},"de.mittwald.v1.container.RegistryCredentials":{"properties":{"username":{"description":"Your registry username.","example":"username","type":"string"},"valid":{"description":"Status of the credentials.","example":true,"type":"boolean"}},"required":["username","valid"],"type":"object"},"de.mittwald.v1.container.ServiceDeclareRequest":{"properties":{"command":{"description":"Defaults to image config on empty","example":["mysqld"],"items":{"type":"string"},"type":"array"},"description":{"example":"MySQL DB","type":"string"},"entrypoint":{"description":"Defaults to image config on empty","example":["docker-entrypoint.sh"],"items":{"type":"string"},"type":"array"},"envs":{"additionalProperties":{"type":"string"},"example":{"MYSQL_DATABASE":"my_db","MYSQL_PASSWORD":"my_password","MYSQL_ROOT_PASSWORD":"my_root_password","MYSQL_USER":"my_user"},"type":"object"},"image":{"example":"mysql","type":"string"},"ports":{"example":["3306:3306/tcp"],"items":{"type":"string"},"type":"array"},"volumes":{"example":["data:/var/lib/mysql"],"items":{"type":"string"},"type":"array"}},"required":["description","image","ports"],"type":"object"},"de.mittwald.v1.container.ServiceRequest":{"properties":{"command":{"description":"Defaults to image config on empty","example":["mysqld"],"items":{"type":"string"},"type":"array"},"description":{"example":"MySQL DB","type":"string"},"entrypoint":{"description":"Defaults to image config on empty","example":["docker-entrypoint.sh"],"items":{"type":"string"},"type":"array"},"envs":{"additionalProperties":{"type":"string"},"example":{"MYSQL_DATABASE":"my_db","MYSQL_PASSWORD":"my_password","MYSQL_ROOT_PASSWORD":"my_root_password","MYSQL_USER":"my_user"},"type":"object"},"image":{"example":"mysql","type":"string"},"ports":{"example":["3306:3306/tcp"],"items":{"type":"string"},"type":"array"},"volumes":{"example":["data:/var/lib/mysql"],"items":{"type":"string"},"type":"array"}},"type":"object"},"de.mittwald.v1.container.ServiceResponse":{"properties":{"deployedState":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceState"},"description":{"example":"MySQL DB","type":"string"},"id":{"format":"uuid","type":"string"},"pendingState":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceState"},"projectId":{"format":"uuid","type":"string"},"serviceName":{"example":"mysql-db","type":"string"},"stackId":{"format":"uuid","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceStatus"}},"required":["id","stackId","projectId","description","serviceName","pendingState","deployedState","status"],"type":"object"},"de.mittwald.v1.container.ServiceState":{"properties":{"command":{"items":{"type":"string"},"type":"array"},"entrypoint":{"items":{"type":"string"},"type":"array"},"envs":{"additionalProperties":{"type":"string"},"type":"object"},"image":{"type":"string"},"ports":{"items":{"type":"string"},"type":"array"},"volumes":{"items":{"type":"string"},"type":"array"}},"required":["image"],"type":"object"},"de.mittwald.v1.container.ServiceStatus":{"enum":["running","stopped","restarting","error","creating","starting"],"type":"string"},"de.mittwald.v1.container.SetRegistryCredentials":{"properties":{"password":{"description":"Your registry password or access token.","example":"password","type":"string"},"username":{"description":"Your registry username, use 'oauth2accesstoken' for access token authentication.","example":"username","type":"string"}},"required":["username","password"],"type":"object"},"de.mittwald.v1.container.StackResponse":{"properties":{"description":{"type":"string"},"disabled":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"prefix":{"description":"Prefix for all service-names in this stack.","type":"string"},"projectId":{"format":"uuid","type":"string"},"services":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceResponse"},"type":"array"},"volumes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeResponse"},"type":"array"}},"required":["id","projectId","description","disabled","prefix"],"type":"object"},"de.mittwald.v1.container.UpdateRegistry":{"properties":{"credentials":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.container.SetRegistryCredentials"}],"nullable":true},"description":{"example":"DockerHub","type":"string"},"uri":{"example":"index.docker.io","type":"string"}},"type":"object"},"de.mittwald.v1.container.VolumeDeclareRequest":{"properties":{"name":{"example":"mysql-volume","type":"string"}},"required":["name"],"type":"object"},"de.mittwald.v1.container.VolumeRequest":{"properties":{"name":{"example":"mysql-volume","type":"string"}},"type":"object"},"de.mittwald.v1.container.VolumeResponse":{"properties":{"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"orphaned":{"description":"Whether the Volume is attached to a Stack.","type":"boolean"},"stackId":{"format":"uuid","type":"string"},"storageUsageInBytes":{"type":"integer"},"storageUsageInBytesSetAt":{"format":"date-time","type":"string"}},"required":["id","stackId","name","orphaned","storageUsageInBytes","storageUsageInBytesSetAt"],"type":"object"},"de.mittwald.v1.contract.AggregateReference":{"properties":{"aggregate":{"example":"project","type":"string"},"domain":{"example":"project","type":"string"},"id":{"example":"a1b8f0e9-904f-4716-a1c0-81ccf5342a56","type":"string"}},"required":["id","domain","aggregate"],"type":"object"},"de.mittwald.v1.contract.Article":{"properties":{"amount":{"example":1,"minimum":1,"type":"integer"},"articleTemplateId":{"example":"a1b8f0e9-904f-4716-a1c0-81ccf5342a56","type":"string"},"description":{"example":"Musterbeschreibung","type":"string"},"id":{"example":"a1b8f0e9-904f-4716-a1c0-81ccf5342a56","type":"string"},"name":{"example":"Musterartikel","type":"string"},"unitPrice":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Price"}},"required":["id","name","articleTemplateId","amount","unitPrice"],"type":"object"},"de.mittwald.v1.contract.Contact":{"properties":{"address":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Address"},"company":{"example":"Musterfirma","type":"string"},"emailAddress":{"format":"email","type":"string"},"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"},"phoneNumbers":{"items":{"example":"+49 123 4567890","type":"string"},"type":"array"},"salutation":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"},"title":{"example":"Dr.","type":"string"},"useFormalTerm":{"type":"boolean"}},"required":["address","salutation"],"type":"object"},"de.mittwald.v1.contract.ContractItem":{"properties":{"activationDate":{"format":"date-time","type":"string"},"aggregateReference":{"$ref":"#/components/schemas/de.mittwald.v1.contract.AggregateReference"},"articles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Article"},"type":"array"},"contractPeriod":{"example":1,"minimum":0,"type":"number"},"description":{"example":"Space-Server: \"Mein Space-Server\"","type":"string"},"freeTrialDays":{"example":10,"type":"number"},"groupByProjectId":{"format":"uuid","type":"string"},"invoiceStop":{"description":"If this attribute is set, the contract item will currently only be invoiced until this date.","format":"date-time","type":"string"},"invoicingPeriod":{"example":1,"type":"number"},"isActivated":{"type":"boolean"},"isBaseItem":{"type":"boolean"},"isInFreeTrial":{"type":"boolean"},"isInclusive":{"type":"boolean"},"itemId":{"format":"uuid","type":"string"},"nextPossibleDowngradeDate":{"description":"If this attribute is not set, termination is not allowed.","format":"date-time","type":"string"},"nextPossibleTerminationDate":{"description":"If this attribute is not set, a tariff change is not allowed.","format":"date-time","type":"string"},"nextPossibleUpgradeDate":{"description":"If this attribute is not set, a tariff change is not allowed.","format":"date-time","type":"string"},"orderDate":{"format":"date-time","type":"string"},"orderId":{"format":"uuid","type":"string"},"replacedByItem":{"format":"uuid","type":"string"},"tariffChange":{"$ref":"#/components/schemas/de.mittwald.v1.contract.TariffChange"},"termination":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Termination"},"totalPrice":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Price"}},"required":["itemId","isActivated","contractPeriod","articles","totalPrice","description","isBaseItem"],"type":"object"},"de.mittwald.v1.contract.Contract":{"properties":{"additionalItems":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"},"type":"array"},"baseItem":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"},"contractId":{"format":"uuid","type":"string"},"contractNumber":{"example":"V1234567","type":"string"},"customerId":{"example":"3a201faa-5160-47e0-a758-325ba794b543","type":"string"},"termination":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Termination"}},"required":["contractId","contractNumber","customerId","baseItem"],"type":"object"},"de.mittwald.v1.contract.Error":{"properties":{"message":{"example":"Something went wrong","type":"string"},"type":{"example":"InternalServerError","type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.contract.Price":{"properties":{"currency":{"enum":["EUR"],"type":"string"},"value":{"description":"The value of the price in the smallest currency unit (e.g. cents)","example":100,"type":"integer"}},"required":["value","currency"],"type":"object"},"de.mittwald.v1.contract.TariffChange":{"properties":{"newArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Article"},"type":"array"},"scheduledAtDate":{"format":"date-time","type":"string"},"scheduledByUserId":{"type":"string"},"targetDate":{"format":"date-time","type":"string"}},"required":["scheduledAtDate","targetDate","newArticles"],"type":"object"},"de.mittwald.v1.contract.Termination":{"properties":{"reason":{"example":"Not needed anymore","type":"string"},"scheduledAtDate":{"format":"date-time","type":"string"},"scheduledByUserId":{"type":"string"},"targetDate":{"format":"date-time","type":"string"}},"required":["scheduledAtDate","targetDate"],"type":"object"},"de.mittwald.v1.conversation.AggregateReference":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},"de.mittwald.v1.conversation.CategoryReferenceType":{"items":{"enum":["unspecified","server","project","organisation","extensionInstance"],"type":"string"},"type":"array"},"de.mittwald.v1.conversation.Category":{"properties":{"categoryId":{"format":"uuid","type":"string"},"name":{"type":"string"},"referenceType":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.CategoryReferenceType"}},"required":["categoryId","name","referenceType"],"type":"object"},"de.mittwald.v1.conversation.ConversationMembers":{"items":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},{"properties":{"active":{"type":"boolean"}},"required":["active"],"type":"object"}]},"type":"array"},"de.mittwald.v1.conversation.ConversationPreferences":{"properties":{"customerId":{"format":"uuid","type":"string"},"preferredUsers":{"properties":{"categoryUserPairs":{"additionalProperties":{"format":"uuid","type":"string"},"type":"object"},"fallback":{"format":"uuid","type":"string"}},"type":"object"}},"required":["customerId","preferredUsers"],"type":"object"},"de.mittwald.v1.conversation.Conversation":{"properties":{"category":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Category"},"conversationId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"lastMessage":{"properties":{"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"}},"required":["createdAt"],"type":"object"},"lastMessageAt":{"format":"date-time","type":"string"},"lastMessageBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"mainUser":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"relatedTo":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"relations":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"type":"array"},"sharedWith":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Status"},"title":{"type":"string"},"visibility":{"enum":["shared","private"],"type":"string"}},"required":["conversationId","shortId","title","createdAt","status","visibility","mainUser"],"type":"object"},"de.mittwald.v1.conversation.GetConversationIdResponse":{"properties":{"conversationId":{"format":"uuid","type":"string"},"shortId":{"type":"string"}},"required":["shortId","conversationId"],"type":"object"},"de.mittwald.v1.conversation.Department":{"enum":["development","mail","accounting","cloudHosting","customerService","generic"],"type":"string"},"de.mittwald.v1.conversation.DepartmentWithStatus":{"properties":{"department":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Department"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Status"}},"required":["department","status"],"type":"object"},"de.mittwald.v1.conversation.Error":{"properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.conversation.RequestedFile":{"properties":{"id":{"format":"uuid","type":"string"},"status":{"enum":["requested"],"type":"string"}},"required":["id","status"],"type":"object"},"de.mittwald.v1.conversation.File":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.conversation.RequestedFile"},{"$ref":"#/components/schemas/de.mittwald.v1.conversation.UploadedFile"}]},"de.mittwald.v1.conversation.UploadedFile":{"properties":{"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"status":{"enum":["uploaded"],"type":"string"},"type":{"type":"string"}},"required":["id","status","name","type"],"type":"object"},"de.mittwald.v1.conversation.Message":{"properties":{"conversationId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"},"files":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.File"},"type":"array"},"internal":{"type":"boolean"},"messageContent":{"type":"string"},"messageId":{"format":"uuid","type":"string"},"type":{"enum":["MESSAGE"],"type":"string"}},"required":["messageId","conversationId","createdAt","type"],"type":"object"},"de.mittwald.v1.conversation.ShareableAggregateReference":{"oneOf":[{"properties":{"aggregate":{"enum":["user"],"type":"string"},"domain":{"enum":["user"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["customer"],"type":"string"},"domain":{"enum":["customer"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["project"],"type":"string"},"domain":{"enum":["project"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["appinstallation"],"type":"string"},"domain":{"enum":["app"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["placementgroup"],"type":"string"},"domain":{"enum":["project"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},{"properties":{"aggregate":{"enum":["extensionInstance"],"type":"string"},"domain":{"enum":["extension"],"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"}]},"de.mittwald.v1.conversation.Status":{"enum":["open","closed","answered","inProgress","waiting"],"type":"string"},"de.mittwald.v1.conversation.StatusUpdate":{"properties":{"conversationId":{"type":"string"},"createdAt":{"type":"string"},"internal":{"type":"boolean"},"messageContent":{"type":"string"},"meta":{"properties":{"user":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.User"}},"type":"object"},"type":{"enum":["STATUS_UPDATE"],"type":"string"}},"required":["conversationId","messageContent","createdAt","type"],"type":"object"},"de.mittwald.v1.conversation.User":{"properties":{"active":{"type":"boolean"},"avatarRefId":{"type":"string"},"clearName":{"type":"string"},"department":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Department"},"userId":{"type":"string"}},"required":["userId"],"type":"object"},"de.mittwald.v1.strace.Data":{"properties":{"actualUrl":{"example":"https://www.mittwald.de/~b","type":"string"},"dbQueries":{"items":{"properties":{"query":{"description":"The whole DB query.","example":"SELECT * FROM my_table;","type":"string"},"stats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"warnLevel":{"description":"Alerts when the time, syscall count or occurrence count of this group are abnormal.","enum":["NO","WARN","SEVERE"],"type":"string"}},"required":["query","stats","warnLevel"],"type":"object"},"type":"array"},"dbStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"fileOps":{"items":{"properties":{"filename":{"example":"my_file.php","type":"string"},"filepath":{"example":"/html/my-project","type":"string"},"stats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"warnLevel":{"description":"Alerts when the time, syscall count or occurrence count of this group are abnormal.","enum":["NO","WARN","SEVERE"],"type":"string"}},"required":["stats","warnLevel"],"type":"object"},"type":"array"},"fileOpsStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"miscStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"networkingOps":{"items":{"properties":{"connectionType":{"enum":["UNKNOWN","PRIVATE","EXTERNAL"],"type":"string"},"description":{"description":"A short description of the network connection to provide additional context.","type":"string"},"ip":{"description":"IP address to which a connection was established.","type":"string"},"port":{"description":"Port to which a connection was established.","type":"integer"},"stats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"warnLevel":{"description":"Alerts when the time, syscall count or occurrence count of this group are abnormal.","enum":["NO","WARN","SEVERE"],"type":"string"}},"required":["ip","port","description","connectionType","stats","warnLevel"],"type":"object"},"type":"array"},"networkingStats":{"$ref":"#/components/schemas/de.mittwald.v1.strace.Statistics"},"slowdownFactor":{"description":"Shows how much slower the websites TTFB was when it got traced (1.0 = 100% = same TTFB).","example":1.5,"type":"number"},"ttfbMs":{"description":"Time to first byte in milliseconds while tracing the website.","example":1532,"type":"integer"}},"required":["actualUrl","ttfbMs","slowdownFactor","fileOpsStats","networkingStats","dbStats","miscStats","fileOps","networkingOps","dbQueries"],"type":"object"},"de.mittwald.v1.strace.Error":{"properties":{"errorMessage":{"example":"wrong PHP version","type":"string"}},"required":["errorMessage"],"type":"object"},"de.mittwald.v1.strace.Statistics":{"properties":{"kernelMs":{"description":"Elapsed kernel space time in milliseconds.","example":1.2345,"type":"number"},"occurrences":{"description":"The number of times this group occurred.","example":25,"type":"integer"},"syscallCount":{"description":"Syscall count.","example":4321,"type":"integer"},"userspaceMs":{"description":"Elapsed user space time in milliseconds.","example":1.2345,"type":"number"}},"required":["kernelMs","userspaceMs","syscallCount","occurrences"],"type":"object"},"de.mittwald.v1.cronjob.CronjobCommand":{"properties":{"interpreter":{"example":"/usr/bin/bash","type":"string"},"parameters":{"example":"--debug","type":"string"},"path":{"example":"/html/my-wordpress/script.sh","type":"string"}},"required":["interpreter","path"],"type":"object"},"de.mittwald.v1.cronjob.Cronjob":{"properties":{"active":{"type":"boolean"},"appId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"example":"i am a cronjob","type":"string"},"destination":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobCommand"}]},"email":{"format":"email","type":"string"},"id":{"format":"uuid","type":"string"},"interval":{"example":"*/5 * * * *","type":"string"},"latestExecution":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobExecution"},"nextExecutionTime":{"format":"date-time","type":"string"},"projectId":{"format":"uuid","type":"string"},"shortId":{"example":"cron-bd26li","type":"string"},"timeout":{"maximum":86400,"minimum":1,"type":"number"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","appId","shortId","interval","active","createdAt","updatedAt","description","destination","timeout"],"type":"object"},"de.mittwald.v1.cronjob.CronjobExecution":{"properties":{"abortedBy":{"properties":{"id":{"format":"uuid","type":"string"}},"type":"object"},"durationInMilliseconds":{"example":12374,"format":"int64","type":"integer"},"end":{"format":"date-time","type":"string"},"executionEnd":{"deprecated":true,"format":"date-time","type":"string"},"executionStart":{"deprecated":true,"format":"date-time","type":"string"},"id":{"example":"cron-bd26li-28027320","type":"string"},"logPath":{"example":"/var/log/cronjobs/cron-bd26li-28027320.log","type":"string"},"start":{"format":"date-time","type":"string"},"status":{"enum":["Complete","Failed","AbortedBySystem","Pending","Running","AbortedByUser","TimedOut"],"type":"string"},"successful":{"type":"boolean"},"triggeredBy":{"properties":{"id":{"format":"uuid","type":"string"}},"type":"object"}},"required":["id","status","successful"],"type":"object"},"de.mittwald.v1.cronjob.CronjobRequest":{"properties":{"active":{"type":"boolean"},"appId":{"format":"uuid","type":"string"},"description":{"example":"i am a cronjob","type":"string"},"destination":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobCommand"}]},"email":{"format":"email","type":"string"},"interval":{"example":"*/5 * * * *","type":"string"},"timeout":{"maximum":86400,"minimum":1,"type":"number"}},"required":["appId","description","destination","interval","active","timeout"],"type":"object"},"de.mittwald.v1.cronjob.CronjobUrl":{"properties":{"url":{"example":"https://mydomain.com","type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.customer.Contact":{"properties":{"address":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Address"},"company":{"type":"string"},"emailAddress":{"format":"email","type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"phoneNumbers":{"items":{"type":"string"},"type":"array"},"salutation":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"},"title":{"type":"string"},"useFormalTerm":{"type":"boolean"}},"required":["address","salutation"],"type":"object"},"de.mittwald.v1.customer.CustomerMeta":{"properties":{"avatarRefId":{"type":"string"},"customerId":{"type":"string"},"name":{"type":"string"}},"required":["customerId","name"],"type":"object"},"de.mittwald.v1.customer.Role":{"description":"the role within a customer","enum":["owner","member","accountant"],"type":"string"},"de.mittwald.v1.customer.Customer":{"properties":{"activeSuspension":{"properties":{"createdAt":{"format":"date-time","type":"string"}},"required":["createdAt"],"type":"object"},"avatarRefId":{"type":"string"},"categoryId":{"type":"string"},"creationDate":{"format":"date-time","type":"string"},"customerId":{"type":"string"},"customerNumber":{"type":"string"},"executingUserRoles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Role"},"type":"array"},"isBanned":{"type":"boolean"},"isInDefaultOfPayment":{"type":"boolean"},"memberCount":{"minimum":0,"type":"integer"},"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Contact"},"projectCount":{"minimum":0,"type":"integer"},"vatId":{"type":"string"},"vatIdValidationState":{"enum":["valid","invalid","pending","unspecified"],"type":"string"}},"required":["customerId","customerNumber","name","creationDate","memberCount","projectCount"],"type":"object"},"de.mittwald.v1.database.CreateMySqlDatabase":{"properties":{"characterSettings":{"$ref":"#/components/schemas/de.mittwald.v1.database.characterSettings"},"description":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"version":{"type":"string"}},"required":["projectId","version","description"],"type":"object"},"de.mittwald.v1.database.CreateMySqlUser":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"databaseId":{"format":"uuid","type":"string"},"description":{"type":"string"},"externalAccess":{"type":"boolean"},"password":{"type":"string"}},"required":["databaseId","password","description","accessLevel"],"type":"object"},"de.mittwald.v1.database.CreateMySqlUserWithDatabase":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"externalAccess":{"type":"boolean"},"password":{"type":"string"}},"required":["password","accessLevel"],"type":"object"},"de.mittwald.v1.database.DatabaseStatus":{"enum":["pending","ready","migrating","importing","error"],"type":"string"},"de.mittwald.v1.database.MySqlCharacterSettings":{"properties":{"collations":{"example":["utf8_general_ci","utf8_bin","utf8_unicode_ci"],"items":{"type":"string"},"type":"array"},"name":{"example":"utf8","type":"string"},"versionId":{"example":"mysql57","type":"string"}},"required":["name","collations","versionId"],"type":"object"},"de.mittwald.v1.database.characterSettings":{"properties":{"characterSet":{"type":"string"},"collation":{"type":"string"}},"required":["characterSet","collation"],"type":"object"},"de.mittwald.v1.database.MySqlDatabase":{"properties":{"characterSettings":{"$ref":"#/components/schemas/de.mittwald.v1.database.characterSettings"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"finalizers":{"items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true},"hostname":{"type":"string"},"id":{"format":"uuid","type":"string"},"isReady":{"type":"boolean"},"isShared":{"type":"boolean"},"name":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.database.DatabaseStatus"},"statusSetAt":{"format":"date-time","type":"string"},"storageUsageInBytes":{"type":"integer"},"storageUsageInBytesSetAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"version":{"type":"string"}},"required":["id","createdAt","updatedAt","projectId","name","description","version","characterSettings","hostname","isShared","isReady","storageUsageInBytes","storageUsageInBytesSetAt","status","statusSetAt"],"type":"object"},"de.mittwald.v1.database.PhpMyAdminURL":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.database.MySqlUser":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"createdAt":{"format":"date-time","type":"string"},"databaseId":{"format":"uuid","type":"string"},"description":{"type":"string"},"disabled":{"type":"boolean"},"externalAccess":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"mainUser":{"type":"boolean"},"name":{"type":"string"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.database.DatabaseStatus"},"statusSetAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","createdAt","updatedAt","databaseId","name","passwordUpdatedAt","mainUser","disabled","accessLevel","externalAccess","status","statusSetAt"],"type":"object"},"de.mittwald.v1.database.MySqlVersion":{"properties":{"disabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"string"}},"required":["id","name","number","disabled"],"type":"object"},"de.mittwald.v1.database.RedisDatabaseConfiguration":{"description":"The configuration for a RedisDatabase.","properties":{"additionalFlags":{"description":"Additional flags passed to the database.","items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true},"maxMemory":{"description":"The database's maximum memory. This may be a number, optionally suffixed by one of the IEC binary suffixes `Ki`, `Mi` or `Gi`.","example":"64Mi","type":"string"},"maxMemoryPolicy":{"description":"The database's key eviction policy. See the [Redis documentation on key evictions](https://redis.io/docs/reference/eviction/) for more information.","example":"allkeys-lru","type":"string"},"persistent":{"description":"Persistent status of the database.","type":"boolean"}},"type":"object"},"de.mittwald.v1.database.RedisDatabase":{"example":{"configuration":{"additionalFlags":["--tcp-keepalive","300"],"maxMemory":"16Mi","maxMemoryPolicy":"allkeys-lru","persistent":"true"},"createdAt":"2023-03-28T13:15:00.000Z","description":"My first RedisDatabase!","finalizers":["app:appinstallation:28471edf-d266-4d79-8ca8-169e330746db"],"hostname":"redis-xxxxxx.pg-example.db.example.com","id":"fcfe9aea-84d5-46eb-ac6f-a0ccffa908b1","name":"redis_xxxxxx","port":6379,"projectId":"9f2bddf1-dea6-4441-b4fe-a22ff39caff8","status":"error","statusSetAt":"2024-03-05T9:26:32.000Z","storageUsageInBytes":10485760,"storageUsageInBytesSetAt":"2024-03-05T9:26:32.000Z","updatedAt":"2023-03-29T15:50:10.000Z","version":"7.0"},"properties":{"configuration":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabaseConfiguration"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"finalizers":{"items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true},"hostname":{"type":"string"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"port":{"type":"integer"},"projectId":{"format":"uuid","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.database.DatabaseStatus"},"statusSetAt":{"format":"date-time","type":"string"},"storageUsageInBytes":{"type":"integer"},"storageUsageInBytesSetAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"version":{"type":"string"}},"required":["id","projectId","version","hostname","port","description","createdAt","updatedAt","name","storageUsageInBytes","storageUsageInBytesSetAt","status","statusSetAt"],"type":"object"},"de.mittwald.v1.database.RedisVersion":{"properties":{"disabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"string"}},"required":["id","name","number","disabled"],"type":"object"},"de.mittwald.v1.dns.RecordCNAME":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAMEComponent"}]},"de.mittwald.v1.dns.RecordCNAMEComponent":{"properties":{"fqdn":{"format":"idn-dnsname","type":"string"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","fqdn"],"type":"object"},"de.mittwald.v1.dns.RecordCombinedA":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedACustom"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedAManaged"}]},"de.mittwald.v1.dns.CombinedAManagedAAAARecord":{"format":"ipv6","type":"string"},"de.mittwald.v1.dns.CombinedAManagedARecord":{"format":"ipv4","type":"string"},"de.mittwald.v1.dns.CombinedACustom":{"properties":{"a":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedAManagedARecord"},"maxItems":10,"type":"array"},"aaaa":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedAManagedAAAARecord"},"maxItems":10,"type":"array"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","a","aaaa"],"type":"object"},"de.mittwald.v1.dns.CombinedAManaged":{"properties":{"managedBy":{"oneOf":[{"properties":{"ingressId":{"format":"uuid","type":"string"}},"required":["ingressId"],"type":"object"}]}},"required":["managedBy"],"type":"object"},"de.mittwald.v1.dns.RecordMX":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXManaged"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXCustom"}]},"de.mittwald.v1.dns.RecordMXCustom":{"properties":{"records":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXRecord"},"maxItems":10,"minItems":1,"type":"array","uniqueItems":true},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","records"],"type":"object"},"de.mittwald.v1.dns.RecordMXManaged":{"properties":{"managed":{"type":"boolean"}},"required":["managed"],"type":"object"},"de.mittwald.v1.dns.RecordMXRecord":{"properties":{"fqdn":{"format":"idn-dnsname","maxLength":50,"minLength":1,"type":"string"},"priority":{"maximum":100,"minimum":0,"type":"integer"}},"required":["priority","fqdn"],"type":"object"},"de.mittwald.v1.dns.RecordSettings":{"properties":{"ttl":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.TtlSeconds"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.TtlAuto"}]}},"type":"object"},"de.mittwald.v1.dns.RecordSRV":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVComponent"}]},"de.mittwald.v1.dns.RecordSRVComponent":{"additionalProperties":false,"properties":{"records":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVRecord"},"minItems":1,"type":"array"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","records"],"type":"object"},"de.mittwald.v1.dns.RecordSRVRecord":{"additionalProperties":false,"properties":{"fqdn":{"format":"idn-dnsname","maxLength":50,"minLength":1,"type":"string"},"port":{"maximum":65535,"minimum":0,"type":"integer"},"priority":{"maximum":65535,"minimum":0,"type":"integer"},"weight":{"maximum":65535,"minimum":0,"type":"integer"}},"required":["port","fqdn"],"type":"object"},"de.mittwald.v1.dns.RecordTXT":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXTComponent"}]},"de.mittwald.v1.dns.RecordTXTComponent":{"additionalProperties":false,"properties":{"entries":{"items":{"maxLength":2048,"type":"string"},"maxItems":20,"type":"array"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSettings"}},"required":["settings","entries"],"type":"object"},"de.mittwald.v1.dns.RecordUnset":{"additionalProperties":false,"properties":{},"type":"object"},"de.mittwald.v1.dns.TtlAuto":{"properties":{"auto":{"description":"this will always be true","type":"boolean"}},"required":["auto"],"type":"object"},"de.mittwald.v1.dns.TtlSeconds":{"properties":{"seconds":{"maximum":86400,"minimum":300,"type":"integer"}},"required":["seconds"],"type":"object"},"de.mittwald.v1.dns.Zone":{"properties":{"domain":{"type":"string"},"id":{"format":"uuid","type":"string"},"recordSet":{"properties":{"cname":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAME"},"combinedARecords":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCombinedA"},"mx":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMX"},"srv":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRV"},"txt":{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXT"}},"required":["combinedARecords","cname","mx","txt","srv"],"type":"object"}},"required":["id","domain","recordSet"],"type":"object"},"de.mittwald.v1.domain.AuthCode":{"properties":{"expires":{"format":"date-time","type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"de.mittwald.v1.domain.AuthCode2":{"properties":{"expires":{"format":"date-time","type":"string"}},"required":["expires"],"type":"object"},"de.mittwald.v1.domain.CreateDomainHandleData":{"properties":{"adminC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"type":"array"},"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"type":"array"}},"required":["ownerC"],"type":"object"},"de.mittwald.v1.domain.Domain":{"properties":{"authCode":{"$ref":"#/components/schemas/de.mittwald.v1.domain.AuthCode"},"authCode2":{"$ref":"#/components/schemas/de.mittwald.v1.domain.AuthCode2"},"connected":{"type":"boolean"},"contactHash":{"type":"string"},"deleted":{"type":"boolean"},"domain":{"format":"naked-domain","type":"string"},"domainId":{"format":"uuid","type":"string"},"handles":{"properties":{"adminC":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleReadable"},"ownerC":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleReadable"}},"required":["ownerC"],"type":"object"},"nameservers":{"items":{"format":"idn-hostname","type":"string"},"type":"array","uniqueItems":true},"processes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Process"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"transferInAuthCode":{"type":"string"},"usesDefaultNameserver":{"type":"boolean"}},"required":["domainId","domain","projectId","deleted","nameservers","handles","connected","usesDefaultNameserver","hasAuthCode"],"type":"object"},"de.mittwald.v1.domain.HandleData":{"properties":{"handleFields":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"type":"array"},"handleRef":{"type":"string"}},"type":"object"},"de.mittwald.v1.domain.HandleField":{"properties":{"name":{"type":"string"},"value":{"pattern":"^[0-9a-zA-ZÀ-ÖØ-öø-ÿ /&()+,.@_-]+$","type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.domain.HandleReadable":{"properties":{"current":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleData"},"desired":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleData"}},"required":["current"],"type":"object"},"de.mittwald.v1.domain.Process":{"properties":{"error":{"type":"string"},"lastUpdate":{"format":"date-time","type":"string"},"processType":{"$ref":"#/components/schemas/de.mittwald.v1.domain.ProcessType"},"state":{"$ref":"#/components/schemas/de.mittwald.v1.domain.ProcessState"},"status":{"type":"string"},"statusCode":{"type":"string"},"transactionId":{"type":"string"}},"required":["transactionId","processType","state","lastUpdate"],"type":"object"},"de.mittwald.v1.domain.ProcessState":{"enum":["UNSPECIFIED","REQUESTED","FAILED"],"type":"string"},"de.mittwald.v1.domain.ProcessType":{"enum":["UNSPECIFIED","REGISTER","TRANSFER","DELETE","TRANSIT","RESTORE","UPDATE","TRANSFER_OUT","OWNER_CHANGE","DECLARE_REQUESTED"],"type":"string"},"de.mittwald.v1.domain.Registrar":{"enum":["INTERNETX","DENIC","HEXONET"],"type":"string"},"de.mittwald.v1.domain.SuggestedDomains":{"properties":{"domains":{"items":{"type":"string"},"type":"array"}},"required":["domains"],"type":"object"},"de.mittwald.v1.domain.TopLevel":{"properties":{"irtp":{"type":"boolean"},"rgpDays":{"minimum":0,"type":"integer"},"tld":{"type":"string"},"transferAuthCodeRequired":{"deprecated":true,"type":"boolean"},"transferAuthentication":{"$ref":"#/components/schemas/de.mittwald.v1.domain.TransferAuthentication"}},"required":["tld","rgpDays","irtp","transferAuthCodeRequired","transferAuthentication"],"type":"object"},"de.mittwald.v1.domain.TransferAuthentication":{"enum":["unspecified","code","email","push"],"type":"string"},"de.mittwald.v1.marketplace.AggregateReference":{"properties":{"aggregate":{"enum":["project","customer"],"type":"string"},"domain":{"enum":["project","customer"],"type":"string"},"id":{"type":"string"}},"required":["id","domain","aggregate"],"type":"object"},"de.mittwald.v1.marketplace.AggregateReferenceFilter":{"properties":{"aggregate":{"enum":["project","customer"],"type":"string"},"domain":{"enum":["project","customer"],"type":"string"},"id":{"type":"string"}},"type":"object"},"de.mittwald.v1.marketplace.Contributor":{"properties":{"customerId":{"format":"uuid","type":"string"},"email":{"type":"string"},"id":{"format":"uuid","type":"string"},"logoRefId":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"state":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ContributorState"},"url":{"type":"string"}},"required":["id","customerId","state","name"],"type":"object"},"de.mittwald.v1.marketplace.ContributorState":{"enum":["enabled","disabled"],"type":"string"},"de.mittwald.v1.marketplace.Extension":{"properties":{"blocked":{"deprecated":true,"type":"boolean"},"context":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"},"contributorId":{"format":"uuid","type":"string"},"deprecation":{"description":"The Extension is deprecated by the contributor and will expire at the given date.","properties":{"deprecatedAt":{"format":"date-time","type":"string"}},"required":["deprecatedAt"],"type":"object"},"description":{"type":"string"},"detailedDescriptions":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DetailedDescriptions"},"disabled":{"type":"boolean"},"frontendComponents":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExternalComponent"},"type":"array"},"frontendFragments":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.FrontendFragment"},"type":"object"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"state":{"deprecated":true,"description":"deprecated","enum":["enabled","blocked","disabled"],"type":"string"},"support":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.SupportMeta"},"tags":{"items":{"type":"string"},"minItems":0,"type":"array"}},"required":["id","contributorId","support","state","name","description","tags","context","scopes","disabled","blocked"],"type":"object"},"de.mittwald.v1.marketplace.BackendComponent":{"properties":{"url":{"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.marketplace.BackendComponents":{"properties":{"extensionAddedToContext":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"},"extensionInstanceRemovedFromContext":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"},"extensionInstanceSecretRotated":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"},"extensionInstanceUpdated":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponent"}},"type":"object"},"de.mittwald.v1.marketplace.Context":{"enum":["project","customer"],"type":"string"},"de.mittwald.v1.marketplace.DescriptionFormats":{"description":"Language specific descriptions in various formats.","properties":{"markdown":{"minLength":1,"type":"string"},"plain":{"minLength":1,"type":"string"}},"required":["markdown"],"type":"object"},"de.mittwald.v1.marketplace.DetailedDescriptions":{"description":"Supported languages. Format ISO-639-1.","properties":{"de":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DescriptionFormats"},"en":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DescriptionFormats"}},"required":["de"],"type":"object"},"de.mittwald.v1.marketplace.ExtensionInstance":{"properties":{"aggregateReference":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"format":"uuid","type":"string"}},"required":["id","domain","aggregate"],"type":"object"},"consentedScopes":{"items":{"type":"string"},"type":"array"},"createdAt":{"format":"date-time","type":"string"},"disabled":{"default":false,"type":"boolean"},"extensionId":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"pendingInstallation":{"default":false,"type":"boolean"},"pendingRemoval":{"default":false,"type":"boolean"}},"required":["id","extensionId","disabled","pendingInstallation","pendingRemoval","consentedScopes","aggregateReference"],"type":"object"},"de.mittwald.v1.marketplace.ExternalComponent":{"properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"],"type":"object"},"de.mittwald.v1.marketplace.FrontendFragment":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.UrlFrontendFragment"}]},"de.mittwald.v1.marketplace.OptionalExtension":{"properties":{"backendComponents":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.BackendComponents"},"blocked":{"deprecated":true,"type":"boolean"},"context":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"},"contributorId":{"format":"uuid","type":"string"},"description":{"type":"string"},"detailedDescriptions":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.DetailedDescriptions"},"disabled":{"type":"boolean"},"frontendComponents":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExternalComponent"},"type":"array"},"frontendFragments":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.FrontendFragment"},"type":"object"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"state":{"description":"deprecated","enum":["enabled","blocked","disabled"],"type":"string"},"support":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.SupportMeta"},"tags":{"items":{"type":"string"},"minItems":0,"type":"array"}},"required":["id","contributorId","name"],"type":"object"},"de.mittwald.v1.marketplace.PublicKey":{"properties":{"algorithm":{"example":"Ed25519","type":"string"},"key":{"description":"base64 encoded public key","format":"byte","type":"string"},"serial":{"format":"uuid","type":"string"}},"required":["serial","algorithm","key"],"type":"object"},"de.mittwald.v1.marketplace.SupportMeta":{"properties":{"email":{"example":"a.lovelace@example.com","type":"string"},"phone":{"type":"string"}},"type":"object"},"de.mittwald.v1.marketplace.UrlFrontendFragment":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.marketplace.WebhookKind":{"enum":["extension-added-to-context","extension-instance-updated","extension-instance-secret-rotated","extension-instance-removed-from-context"],"type":"string"},"de.mittwald.v1.fee.FeeStrategy":{"description":"A strategy for fees of resources.","oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.fee.OneTimePaymentFeeStrategy"},{"$ref":"#/components/schemas/de.mittwald.v1.fee.PeriodBasedFeeStrategy"}]},"de.mittwald.v1.fee.OneTimePaymentFeeStrategy":{"description":"A strategy for fees that occur once.","properties":{"price":{"description":"The one-time price in Euro Cents.","type":"number"}},"required":["price"],"type":"object"},"de.mittwald.v1.fee.PeriodBasedFeeStrategy":{"description":"A strategy for fees that occur periodically","properties":{"periods":{"items":{"properties":{"feeValidFrom":{"format":"date-time","type":"string"},"feeValidUntil":{"format":"date-time","type":"string"},"monthlyPrice":{"description":"The monthly price in Euro Cents.","type":"number"}},"required":["monthlyPrice"],"type":"object"},"type":"array"}},"required":["periods"],"type":"object"},"de.mittwald.v1.fee.ResourceFee":{"description":"A Fee of a Resource","properties":{"feeStrategy":{"$ref":"#/components/schemas/de.mittwald.v1.fee.FeeStrategy"},"id":{"description":"The id of the given Resource","example":"1241a1de-b633-4e6e-9aa5-7e878ccd6864","type":"string"}},"required":["id"],"type":"object"},"de.mittwald.v1.file.FileMeta":{"properties":{"friendlyURL":{"deprecated":true,"description":"deprecated, see friendlyUrl","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6/me.jpeg","type":"string"},"friendlyUrl":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6/me.jpeg","type":"string"},"id":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"},"mimeType":{"example":"image/jpeg","type":"string"},"name":{"example":"me.jpeg","type":"string"},"sizeInBytes":{"example":300,"type":"integer"},"type":{"deprecated":true,"description":"deprecated, see mimeType","example":"image/jpeg","type":"string"}},"required":["id","name","type","friendlyURL","friendlyUrl","sizeInBytes","mimeType"],"type":"object"},"de.mittwald.v1.file.FileType":{"properties":{"extensions":{"items":{"example":[".jpe",".jpeg",".jpg"],"type":"string"},"type":"array"},"mimeType":{"example":"image/jpeg","type":"string"}},"required":["mimeType","extensions"],"type":"object"},"de.mittwald.v1.file.FileUploadRules":{"properties":{"extensions":{"items":{"example":[".png",".jpeg",".jpg"],"type":"string"},"type":"array"},"fileTypes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileType"},"type":"array"},"maxSizeInBytes":{"example":1000000,"type":"integer"},"maxSizeInKB":{"deprecated":true,"description":"deprecated, see maxSizeInBytes","example":1000,"type":"integer"},"maxSizeInKb":{"deprecated":true,"description":"deprecated, see maxSizeInBytes","example":1000,"type":"integer"},"mimeTypes":{"items":{"example":["image/png","image/jpeg"],"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["maxSizeInBytes","maxSizeInKB","maxSizeInKb","mimeTypes","fileTypes","extensions"],"type":"object"},"de.mittwald.v1.ingress.Ingress":{"properties":{"dnsValidationErrors":{"description":"A list of errors that occurred while validating the ingress's dns before requesting a certificate.","items":{"enum":["ERROR_UNSPECIFIED","ERROR_QUAD_A","ERROR_NO_A_RECORD","ERROR_ACME_CERTIFICATE_REQUEST_DEADLINE_EXCEEDED"],"type":"string"},"type":"array"},"hostname":{"format":"idn-hostname","type":"string"},"id":{"format":"uuid","type":"string"},"ips":{"properties":{"v4":{"items":{"format":"ipv4","type":"string"},"type":"array"}},"required":["v4"],"type":"object"},"isDefault":{"description":"Whether this ingress is the default ingress or not. A default ingress is automatically created, it cannot be deleted. There can be only one default ingress per project.","type":"boolean"},"isDomain":{"type":"boolean"},"isEnabled":{"type":"boolean"},"ownership":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ownership"},"paths":{"description":"A list of paths. The default path `/` is always present and cannot be removed.","items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"tls":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsAcme"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsCertificate"}]}},"required":["id","hostname","projectId","isDefault","tls","paths","isEnabled","ips","dnsValidationErrors","ownership"],"type":"object"},"de.mittwald.v1.ingress.IngressDeprecated":{"properties":{"dnsValidationErrors":{"description":"A list of errors that occurred while validating the ingress's dns before requesting a certificate.","items":{"enum":["ERROR_UNSPECIFIED","ERROR_QUAD_A","ERROR_NO_A_RECORD","ERROR_ACME_CERTIFICATE_REQUEST_DEADLINE_EXCEEDED"],"type":"string"},"type":"array"},"hostname":{"format":"idn-hostname","type":"string"},"id":{"format":"uuid","type":"string"},"ips":{"properties":{"v4":{"items":{"format":"ipv4","type":"string"},"type":"array"}},"required":["v4"],"type":"object"},"isDefault":{"description":"Whether this ingress is the default ingress or not. A default ingress is automatically created, it cannot be deleted. There can be only one default ingress per project.","type":"boolean"},"isDomain":{"type":"boolean"},"isEnabled":{"type":"boolean"},"ownership":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ownership"},"paths":{"description":"A list of paths. The default path `/` is always present and cannot be removed.","items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"},"projectId":{"format":"uuid","type":"string"},"tls":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsAcmeDeprecated"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsCertificate"}]}},"required":["id","hostname","projectId","isDefault","tls","paths","isEnabled","ips","dnsValidationErrors","ownership"],"type":"object"},"de.mittwald.v1.ingress.Ownership":{"properties":{"txtRecord":{"type":"string"},"verified":{"description":"Whether the domain ownership is verified or not.","type":"boolean"}},"required":["verified"],"type":"object"},"de.mittwald.v1.ingress.Path":{"properties":{"path":{"type":"string"},"target":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetDirectory"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetInstallation"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetUseDefaultPage"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TargetContainer"}]}},"required":["path","target"],"type":"object"},"de.mittwald.v1.ingress.TargetContainer":{"properties":{"container":{"properties":{"id":{"format":"uuid","type":"string"},"portProtocol":{"description":"docker-compose port specification in format port/protocol (e.g. 8080/TCP)","format":"docker-network-port","type":"string"}},"required":["id","portProtocol"],"type":"object"}},"required":["container"],"type":"object"},"de.mittwald.v1.ingress.TargetDirectory":{"properties":{"directory":{"type":"string"}},"required":["directory"],"type":"object"},"de.mittwald.v1.ingress.TargetInstallation":{"properties":{"installationId":{"format":"uuid","type":"string"}},"required":["installationId"],"type":"object"},"de.mittwald.v1.ingress.TargetUrl":{"properties":{"url":{"format":"uri","type":"string"}},"required":["url"],"type":"object"},"de.mittwald.v1.ingress.TargetUseDefaultPage":{"properties":{"useDefaultPage":{"type":"boolean"}},"required":["useDefaultPage"],"type":"object"},"de.mittwald.v1.ingress.TlsAcme":{"additionalProperties":false,"properties":{"acme":{"description":"Has to be `true`, as ssl cannot be deactivated.","type":"boolean"},"isCreated":{"type":"boolean"},"requestDeadline":{"format":"date-time","type":"string"}},"required":["acme","isCreated"],"type":"object"},"de.mittwald.v1.ingress.TlsAcmeDeprecated":{"additionalProperties":false,"properties":{"acme":{"type":"boolean"}},"required":["acme"],"type":"object"},"de.mittwald.v1.ingress.TlsCertificate":{"additionalProperties":false,"properties":{"certificateId":{"format":"uuid","type":"string"}},"required":["certificateId"],"type":"object"},"de.mittwald.v1.invoice.BankingInformation":{"properties":{"accountHolder":{"example":"Ada Lovelace","type":"string"},"bic":{"example":"DEUTDEDB123","type":"string"},"iban":{"example":"DE12345678901234567890","type":"string"}},"required":["iban","accountHolder"],"type":"object"},"de.mittwald.v1.invoice.Cancellation":{"properties":{"cancellationId":{"format":"uuid","type":"string"},"cancelledAt":{"format":"date-time","type":"string"},"correctionNumber":{"example":"RG1234567","type":"string"},"pdfId":{"format":"uuid","type":"string"},"reason":{"example":"Kulanz","type":"string"}},"required":["pdfId","correctionNumber","cancelledAt","cancellationId"],"type":"object"},"de.mittwald.v1.invoice.ContractInvoiceDefinition":{"properties":{"contractId":{"format":"uuid","type":"string"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.ContractItemInvoiceDefinition"},"type":"array"}},"required":["contractId","items"],"type":"object"},"de.mittwald.v1.invoice.ContractItemInvoiceDefinition":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"isDue":{"type":"boolean"},"serviceDate":{"format":"date-time","type":"string"},"servicePeriod":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.DatePeriod"},"vatRate":{"example":19,"type":"integer"}},"required":["contractItemId","vatRate","servicePeriod"],"type":"object"},"de.mittwald.v1.invoice.CorrectionDefinition":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"creditPeriod":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.DatePeriod"}},"required":["contractItemId","creditPeriod"],"type":"object"},"de.mittwald.v1.invoice.DatePeriod":{"properties":{"end":{"format":"date-time","type":"string"},"start":{"format":"date-time","type":"string"}},"required":["start","end"],"type":"object"},"de.mittwald.v1.invoice.Error":{"properties":{"message":{"example":"Whoops, something went wrong.","type":"string"},"type":{"example":"InternalServerError","type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.invoice.InvoiceItem":{"properties":{"additionalDescription":{"example":"Short-ID: \"s-123456\"","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"description":{"example":"Space-Server: \"Mein Space-Server\"","type":"string"},"itemCancelledOrCorrectedBy":{"items":{"properties":{"sourceInvoiceId":{"format":"uuid","type":"string"},"sourceInvoiceItemId":{"format":"uuid","type":"string"}},"type":"object"},"type":"array"},"itemId":{"format":"uuid","type":"string"},"price":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Price"},"reference":{"properties":{"sourceInvoiceId":{"format":"uuid","type":"string"},"sourceInvoiceItemId":{"format":"uuid","type":"string"}},"required":["sourceInvoiceId","sourceInvoiceItemId"],"type":"object"},"serviceDate":{"format":"date-time","type":"string"},"servicePeriod":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.DatePeriod"},"vatRate":{"example":19,"type":"number"}},"required":["itemId","price","vatRate","contractItemId","description"],"type":"object"},"de.mittwald.v1.invoice.Invoice":{"properties":{"amountPaid":{"example":500,"type":"number"},"cancellation":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Cancellation"},"cancellationOf":{"description":"The ID of the invoice that this invoice cancels.","format":"uuid","type":"string"},"currency":{"example":"EUR","type":"string"},"customerId":{"example":"e0a3b0e0-0e0e-0e0e-0e0e-0e0e0e0e0e0e","type":"string"},"date":{"format":"date-time","type":"string"},"groups":{"items":{"properties":{"contractId":{"format":"uuid","type":"string"},"description":{"example":"Space-Server: \"Mein Space-Server\"","type":"string"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceItem"},"type":"array"}},"required":["items"],"type":"object"},"type":"array"},"id":{"format":"uuid","type":"string"},"invoiceNumber":{"example":"RG1234567","type":"string"},"invoiceType":{"enum":["REGULAR","REISSUE","CORRECTION","CANCELLATION"],"type":"string"},"paymentSettings":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettings"},"pdfId":{"format":"uuid","type":"string"},"recipient":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Recipient"},"status":{"enum":["NEW","CONFIRMED","DENIED","PAID","PARTIALLY_PAID","OVERPAID"],"type":"string"},"totalGross":{"example":595,"type":"number"},"totalNet":{"example":500,"type":"number"},"vatId":{"example":"DE123456789","type":"string"}},"required":["id","customerId","invoiceNumber","date","pdfId","groups","status","amountPaid","recipient","totalNet","totalGross","currency","invoiceType"],"type":"object"},"de.mittwald.v1.invoice.InvoiceSettings":{"properties":{"additionalEmailRecipients":{"items":{"format":"email","type":"string"},"type":"array"},"debitPaymentStopUntil":{"format":"date-time","type":"string"},"id":{"example":"5f9b9b9b-9b9b-9b9b-9b9b-9b9b9b9b9b9b","type":"string"},"invoicePeriod":{"example":1,"type":"integer"},"lastBankingInformation":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.BankingInformation"},"paymentSettings":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettings"},"printedInvoices":{"type":"boolean"},"recipient":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Recipient"},"recipientSameAsOwner":{"type":"boolean"},"status":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceSettingsStatus"},"type":"array"},"targetDay":{"example":15,"type":"integer"}},"required":["id"],"type":"object"},"de.mittwald.v1.invoice.InvoiceSettingsStatus":{"properties":{"message":{"example":"Unfortunately, we were unable to debit your account. Please update your account details.","type":"string"},"severity":{"enum":["success","info","warning","error"],"type":"string"},"type":{"enum":["returnDebitNote","returnDebitNoteWaitingForPayment","debtWrittenOff"],"type":"string"}},"required":["severity","type","message"],"type":"object"},"de.mittwald.v1.invoice.PaymentSettingsDebit":{"properties":{"accountHolder":{"example":"Ada Lovelace","type":"string"},"bic":{"description":"Optional. Required for payments outside of the European Union.","example":"DEUTDEDB123","type":"string"},"iban":{"example":"DE12345678901234567890","type":"string"},"method":{"enum":["debit"],"type":"string"}},"required":["method","iban","accountHolder"],"type":"object"},"de.mittwald.v1.invoice.PaymentSettingsInvoice":{"properties":{"method":{"enum":["invoice"],"type":"string"}},"required":["method"],"type":"object"},"de.mittwald.v1.invoice.PaymentSettings":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettingsDebit"},{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettingsInvoice"}]},"de.mittwald.v1.invoice.Price":{"properties":{"currency":{"enum":["EUR"],"type":"string"},"value":{"example":1000,"type":"integer"}},"required":["value","currency"],"type":"object"},"de.mittwald.v1.invoice.Recipient":{"properties":{"address":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Address"},"company":{"example":"Mittwald CM Service GmbH & Co. KG","type":"string"},"emailAddress":{"format":"email","type":"string"},"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"},"phoneNumbers":{"items":{"example":"+49 123 4567890","type":"string"},"type":"array"},"salutation":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"},"title":{"example":"Dr.","type":"string"},"useFormalTerm":{"type":"boolean"}},"required":["address","salutation"],"type":"object"},"de.mittwald.v1.mail.CreateMailAddress":{"properties":{"address":{"format":"idn-email","type":"string"},"isCatchAll":{"type":"boolean"},"mailbox":{"properties":{"enableSpamProtection":{"type":"boolean"},"password":{"type":"string"},"quotaInBytes":{"description":"2 GB","example":2147483648,"minimum":-1,"type":"number"}},"required":["password","quotaInBytes","enableSpamProtection"],"type":"object"}},"required":["address","mailbox","isCatchAll"],"type":"object"},"de.mittwald.v1.mail.Deliverybox":{"properties":{"authenticationEnabled":{"type":"boolean"},"description":{"type":"string"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"projectId":{"type":"string"},"sendingEnabled":{"type":"boolean"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","name","projectId","description","authenticationEnabled","sendingEnabled","passwordUpdatedAt","updatedAt"],"type":"object"},"de.mittwald.v1.mail.Error":{"properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["type","message"],"type":"object"},"de.mittwald.v1.mail.CreateForwardAddress":{"properties":{"address":{"format":"idn-email","type":"string"},"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["address","forwardAddresses"],"type":"object"},"de.mittwald.v1.mail.MailAddress":{"properties":{"address":{"format":"idn-email","type":"string"},"autoResponder":{"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time","type":"string"},"message":{"type":"string"},"startsAt":{"format":"date-time","type":"string"}},"required":["active"],"type":"object"},"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"isArchived":{"type":"boolean"},"isCatchAll":{"type":"boolean"},"mailbox":{"properties":{"name":{"type":"string"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"sendingEnabled":{"type":"boolean"},"spamProtection":{"properties":{"active":{"type":"boolean"},"autoDeleteSpam":{"type":"boolean"},"folder":{"enum":["spam","inbox"],"type":"string"},"relocationMinSpamScore":{"maximum":10,"type":"integer"}},"required":["active","folder","relocationMinSpamScore","autoDeleteSpam"],"type":"object"},"storageInBytes":{"properties":{"current":{"properties":{"updatedAt":{"format":"date-time","type":"string"},"value":{"type":"number"}},"required":["value","updatedAt"],"type":"object"},"limit":{"type":"number"}},"required":["limit","current"],"type":"object"}},"required":["name","sendingEnabled","spamProtection","storageInBytes","passwordUpdatedAt"],"type":"object"},"projectId":{"type":"string"},"receivingDisabled":{"type":"boolean"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","receivingDisabled","address","isCatchAll","projectId","forwardAddresses","updatedAt","autoResponder","isArchived"],"type":"object"},"de.mittwald.v1.mail.MailsystemSettings":{"properties":{"imapClusterId":{"type":"string"},"mailDirectory":{"type":"string"},"rateLimitId":{"type":"string"}},"required":["imapClusterId","mailDirectory","rateLimitId"],"type":"object"},"de.mittwald.v1.mailmigration.AutoResponder":{"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time"},"message":{"type":"string"},"startsAt":{"format":"date-time"}},"required":["active","message"],"type":"object"},"de.mittwald.v1.mailmigration.MailSystemSettings":{"properties":{"imapClusterId":{"type":"string"},"mailDirectory":{"type":"string"},"rateLimitId":{"type":"string"}},"required":["imapClusterId","mailDirectory","rateLimitId"],"type":"object"},"de.mittwald.v1.mailmigration.Mailbox":{"properties":{"mailsystem":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MailSystemSettings"},"name":{"type":"string"},"quotaInBytes":{"type":"integer"},"spamProtection":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.SpamProtection"}},"required":["name","quotaInBytes","mailsystem"],"type":"object"},"de.mittwald.v1.mailmigration.Migration":{"properties":{"aborted":{"type":"boolean"},"addresses":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddress"},"type":"array"},"finalizers":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationFinalizeJob"},"finished":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"mailboxes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailbox"},"type":"array"},"sourceCoabProjectId":{"type":"string"},"targetNexusProjectId":{"type":"string"}},"required":["id","targetNexusProjectId","sourceCoabProjectId","addresses","mailboxes","finalizers","finished","aborted"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationFinalizeJob":{"properties":{"disableLegacyEntities":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationFinalizeJobDisableLegacyEntities"},"projectSettingMigrations":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationFinalizeJobProjectSetting"}},"type":"object"},"de.mittwald.v1.mailmigration.MigrationFinalizeJobDisableLegacyEntities":{"properties":{"addresses":{"items":{"type":"string"},"type":"array"},"mailboxNames":{"items":{"type":"string"},"type":"array"}},"required":["mailboxNames","addresses"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationFinalizeJobProjectSetting":{"properties":{"blacklistEntries":{"items":{"type":"string"},"type":"array"},"whitelistEntries":{"items":{"type":"string"},"type":"array"}},"required":["blacklistEntries","whitelistEntries"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddress":{"properties":{"address":{"type":"string"},"finished":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"migrationJobs":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJob"},"preMigrationJobs":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJob"}},"required":["id","address","preMigrationJobs","migrationJobs","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrateMailAddressCommandRequirements":{"properties":{"address":{"type":"string"},"autoResponder":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.AutoResponder"},"forwardAddresses":{"items":{"type":"string"},"type":"array"},"isCatchAll":{"type":"boolean"},"mailbox":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Mailbox"},"projectId":{"type":"string"}},"required":["projectId"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJob":{"properties":{"migrate":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJobMigrate"}},"required":["migrate"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressMigrationJobMigrate":{"properties":{"finished":{"type":"boolean"},"requirements":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrateMailAddressCommandRequirements"}},"required":["requirements","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJob":{"properties":{"aliasSet":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobAliasSet"},"type":"array"},"deliveryMigrations":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobDeliveryMigration"},"type":"array"}},"required":["deliveryMigrations","aliasSet"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobAliasSet":{"properties":{"finished":{"type":"boolean"},"sourceCoabMailboxName":{"type":"string"}},"required":["sourceCoabMailboxName","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailAddressPreMigrationJobDeliveryMigration":{"properties":{"finished":{"type":"boolean"},"sourceCoabDeliveryMailbox":{"type":"string"},"sourceCoabDeliveryUid":{"type":"integer"},"targetDeliveryAddress":{"type":"string"}},"required":["sourceCoabDeliveryUid","sourceCoabDeliveryMailbox","targetDeliveryAddress","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailbox":{"properties":{"description":{"type":"string"},"finished":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"migrationJobs":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailboxJob"},"name":{"type":"string"}},"required":["id","name","migrationJobs","finished"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailboxJob":{"properties":{"migrate":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrationMailboxJobMigrate"}},"required":["migrate"],"type":"object"},"de.mittwald.v1.mailmigration.MigrationMailboxJobMigrate":{"properties":{"requirements":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.MigrateMailboxCommandRequirements"}},"required":["requirements"],"type":"object"},"de.mittwald.v1.mailmigration.MigrateMailboxCommandRequirements":{"properties":{"mailbox":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Mailbox"},"projectId":{"type":"string"}},"required":["projectId"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAlreadyExistingMailAddress":{"properties":{"address":{"type":"string"}},"required":["address"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailAddressDelivery":{"properties":{"addresses":{"items":{"type":"string"},"type":"array"},"mailboxName":{"type":"string"}},"required":["mailboxName","addresses"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailboxDelivery":{"properties":{"address":{"type":"string"},"mailboxes":{"items":{"type":"string"},"type":"array"}},"required":["address","mailboxes"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllMissingAddress":{"properties":{"address":{"type":"string"}},"required":["address"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllTargetWithoutAlias":{"properties":{"address":{"type":"string"},"mailboxName":{"type":"string"}},"required":["address","mailboxName"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorMissingVerifiedIngress":{"properties":{"hostname":{"format":"idn-hostname","type":"string"}},"required":["hostname"],"type":"object"},"de.mittwald.v1.mailmigration.PossibleCheckErrors":{"properties":{"alreadyExistingMailAddress":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAlreadyExistingMailAddress"},"type":"array"},"ambiguousMailAddressDelivery":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailAddressDelivery"},"type":"array"},"ambiguousMailboxDelivery":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorAmbiguousMailboxDelivery"},"type":"array"},"catchAllMissingAddress":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllMissingAddress"},"type":"array"},"catchAllTargetWithoutAlias":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorCatchAllTargetWithoutAlias"},"type":"array"},"missingVerifiedIngress":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorMissingVerifiedIngress"},"type":"array"}},"required":["ambiguousMailAddressDelivery","ambiguousMailboxDelivery","catchAllMissingAddress","catchAllTargetWithoutAlias","missingVerifiedIngress","alreadyExistingMailAddress"],"type":"object"},"de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorResponse":{"properties":{"errors":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.PossibleCheckErrors"}},"type":"object"},"de.mittwald.v1.mailmigration.SpamProtection":{"properties":{"active":{"type":"boolean"},"deleteSensitivity":{"type":"integer"},"folder":{"default":0,"description":"SPAM_FOLDER_INBOX_UNSPECIFIED = 0 SPAM_FOLDER_SPAM = 1","enum":[0,1],"type":"integer"},"keepDays":{"type":"integer"},"relocateSensitivity":{"type":"integer"}},"required":["active","folder","keepDays"],"type":"object"},"de.mittwald.v1.membership.CustomerInheritedRoles":{"enum":["notset","owner","member","accountant"],"type":"string"},"de.mittwald.v1.membership.CustomerInvite":{"properties":{"avatarRefId":{"description":"Reference to the Project's avatar.","format":"uuid","type":"string"},"customerId":{"description":"ID of the Customer the invite is for.","format":"uuid","type":"string"},"customerName":{"description":"Name of the Customer the user is invited to.","type":"string"},"id":{"description":"ID of the CustomerInvite.","format":"uuid","type":"string"},"information":{"$ref":"#/components/schemas/de.mittwald.v1.membership.InviteInformation"},"mailAddress":{"description":"Mail-address of the user the invite is for.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the CustomerMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the CustomerInvite.","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"}},"required":["id","customerId","mailAddress","role","accepted","information","customerName"],"type":"object"},"de.mittwald.v1.membership.CustomerMembership":{"properties":{"customerId":{"description":"ID of the Customer the CustomerMembership is for.","format":"uuid","type":"string"},"email":{"description":"Email used by the invited user.","format":"email","type":"string"},"expiresAt":{"description":"Time the CustomerMembership should expire at.","format":"date-time","type":"string"},"id":{"description":"ID of the CustomerMembership.","format":"uuid","type":"string"},"inviteId":{"description":"ID of the CustomerInvite the membership was created from.","format":"uuid","type":"string"},"memberSince":{"description":"Date the CustomerMembership was created at.","format":"date-time","type":"string"},"mfa":{"description":"MFA activated by the user.","type":"boolean"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"},"userId":{"description":"ID of the user the CustomerMembership is for.","format":"uuid","type":"string"}},"required":["id","customerId","userId","role","email","mfa"],"type":"object"},"de.mittwald.v1.membership.CustomerRoles":{"enum":["notset","owner","member","accountant"],"type":"string"},"de.mittwald.v1.membership.InviteInformation":{"properties":{"invitationToken":{"description":"Token for authentication purposes.","type":"string"},"invitedBy":{"description":"ID of the user that created the invite.","format":"uuid","type":"string"},"userId":{"description":"ID of the user this invite is for.","format":"uuid","type":"string"}},"required":["invitedBy"],"type":"object"},"de.mittwald.v1.membership.ProjectInvite":{"properties":{"avatarRefId":{"description":"Reference to the Project's avatar.","format":"uuid","type":"string"},"id":{"description":"ID of the ProjectInvite.","format":"uuid","type":"string"},"information":{"$ref":"#/components/schemas/de.mittwald.v1.membership.InviteInformation"},"mailAddress":{"description":"Mail-address of the user the ProjectInvite is for.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the ProjectMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the ProjectInvite.","type":"string"},"projectDescription":{"description":"Description of the Project the invite is created for.","type":"string"},"projectId":{"description":"ID of the Project the invitation is for.","format":"uuid","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"}},"required":["id","projectId","mailAddress","role","accepted","information","projectDescription"],"type":"object"},"de.mittwald.v1.membership.ProjectMembership":{"properties":{"email":{"description":"Email used by the invited user.","format":"email","type":"string"},"expiresAt":{"description":"Time the ProjectMembership should expire at.","format":"date-time","type":"string"},"id":{"description":"ID of the ProjectMembership.","format":"uuid","type":"string"},"inherited":{"description":"Whether the ProjectMembership was inherited from a CustomerMembership.","type":"boolean"},"inviteId":{"description":"ID of the ProjectInvite the membership was created from.","format":"uuid","type":"string"},"memberSince":{"description":"Date the projectMembership was created at.","format":"date-time","type":"string"},"mfa":{"description":"MFA activated by the user.","type":"boolean"},"projectId":{"description":"ID of the Project the membership is for.","format":"uuid","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"},"userId":{"description":"ID of the user the ProjectMembership is for.","format":"uuid","type":"string"}},"required":["id","projectId","userId","role","inherited","email","mfa"],"type":"object"},"de.mittwald.v1.membership.ProjectRoles":{"enum":["notset","owner","emailadmin","external"],"type":"string"},"de.mittwald.v1.messaging.AggregateReference":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"},"parents":{"items":{"properties":{"aggregate":{"type":"string"},"domain":{"type":"string"},"id":{"type":"string"}},"required":["id","aggregate","domain"],"type":"object"},"type":"array"}},"required":["id","aggregate","domain"],"type":"object"},"de.mittwald.v1.messaging.Notification":{"properties":{"createdAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"read":{"type":"boolean"},"reference":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.AggregateReference"},"severity":{"enum":["success","info","warning","error"],"type":"string"},"type":{"type":"string"}},"required":["id","type","reference","severity","read","createdAt"],"type":"object"},"de.mittwald.v1.messaging.NotificationStatus":{"enum":["read"],"type":"string"},"de.mittwald.v1.order.Addons":{"properties":{"hidden":{"type":"boolean"},"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"de.mittwald.v1.order.ArticleAddons":{"properties":{"hidden":{"type":"boolean"},"key":{"minLength":1,"type":"string"},"type":{"type":"string"},"value":{"minLength":1,"type":"string"},"valueMergeType":{"enum":["add","set"],"type":"string"}},"required":["key","value"],"type":"object"},"de.mittwald.v1.order.AttributeConfiguration":{"properties":{"key":{"example":"storage","type":"string"},"value":{"example":10,"type":"string"}},"required":["key"],"type":"object"},"de.mittwald.v1.order.CustomerOrder":{"properties":{"contractChangeContractId":{"format":"uuid","type":"string"},"customerId":{"example":"4317f5c5-1ea8-4084-a9f1-3a8e7e1c94ff","minLength":1,"type":"string"},"dueDate":{"format":"date-time","type":"string"},"invoicingPeriod":{"description":"Invoicing period in months","example":12,"type":"number"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderItem"},"type":"array"},"orderDate":{"format":"date-time","type":"string"},"orderId":{"format":"uuid","type":"string"},"orderNumber":{"example":"5XXXXXX","minLength":1,"type":"string"},"profile":{"$ref":"#/components/schemas/de.mittwald.v1.order.Profile"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"summary":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderSummary"},"type":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderType"}},"required":["orderId","orderNumber","summary","customerId","invoicingPeriod","type","status","items"],"type":"object"},"de.mittwald.v1.order.DomainHandleField":{"properties":{"name":{"example":"name","type":"string"},"value":{"example":"Ada Lovelace","type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.order.DomainOrderPreview":{"properties":{"authCode":{"example":"XXXXXXX","type":"string"},"domain":{"example":"mittwald.example","type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["domain","projectId"],"type":"object"},"de.mittwald.v1.order.DomainOrder":{"properties":{"authCode":{"example":"XXXXXXX","type":"string"},"domain":{"example":"mittwald.example","type":"string"},"handleData":{"properties":{"adminC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainHandleField"},"type":"array"},"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainHandleField"},"minItems":1,"type":"array"}},"required":["ownerC"],"type":"object"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","domain","handleData"],"type":"object"},"de.mittwald.v1.order.ExternalCertificateOrderPreview":{"properties":{"certificateRequestId":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","certificateRequestId"],"type":"object"},"de.mittwald.v1.order.ExternalCertificateOrder":{"description":"You are able to order an External Certificate if you already created a Certificate Request.","properties":{"certificateRequestId":{"format":"uuid","type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","certificateRequestId"],"type":"object"},"de.mittwald.v1.order.HardwareSpec":{"properties":{"ram":{"example":2,"type":"number"},"vcpu":{"example":1,"type":"number"}},"type":"object"},"de.mittwald.v1.order.MachineTypeSpec":{"properties":{"machineType":{"example":"prospace.2cpu.4gb","type":"string"}},"type":"object"},"de.mittwald.v1.order.OrderItem":{"properties":{"addons":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.Addons"},"type":"array"},"articleId":{"example":"PS23-PLUS-0004","type":"string"},"articleName":{"example":"proSpace","type":"string"},"articleTemplateName":{"example":"Pro-Space-Hosting","type":"string"},"attributeConfiguration":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.AttributeConfiguration"},"type":"array"},"isInclusive":{"type":"boolean"},"orderItemId":{"format":"uuid","type":"string"},"predefinedDomainAggregateId":{"example":"aa38d836-fe72-4c43-aad3-9472b51edf61","type":"string"},"price":{"example":1000,"type":"number"},"reference":{"$ref":"#/components/schemas/de.mittwald.v1.order.Reference"}},"required":["orderItemId","articleId","price","isInclusive"],"type":"object"},"de.mittwald.v1.order.Reference":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"offerItemId":{"format":"uuid","type":"string"},"orderItemId":{"format":"uuid","type":"string"}},"type":"object"},"de.mittwald.v1.order.OrderStatus":{"enum":["NEW","CONFIRMED","REJECTED","ABORTED","EXECUTED"],"type":"string"},"de.mittwald.v1.order.OrderSummary":{"properties":{"nonRecurring":{"example":1000,"type":"number"},"recurring":{"example":9000,"type":"number"},"summary":{"description":"The total price of the order","example":10000,"type":"number"}},"required":["summary","recurring","nonRecurring"],"type":"object"},"de.mittwald.v1.order.OrderType":{"enum":["NEW_ORDER","CONTRACT_CHANGE"],"type":"string"},"de.mittwald.v1.order.DomainOrderPreviewResponse":{"properties":{"domainContractDuration":{"description":"Contract duration in months.","example":12,"type":"number"},"domainPrice":{"example":800,"type":"number"},"feePrice":{"example":100,"type":"number"},"totalPrice":{"example":900,"type":"number"}},"required":["totalPrice","domainPrice","feePrice","domainContractDuration"],"type":"object"},"de.mittwald.v1.order.ExternalCertificateOrderPreviewResponse":{"properties":{"feePrice":{"example":900,"type":"number"},"recurringPrice":{"example":490,"type":"number"},"totalPrice":{"example":1390,"type":"number"}},"required":["totalPrice","recurringPrice","feePrice"],"type":"object"},"de.mittwald.v1.order.HostingOrderPreviewResponse":{"properties":{"machineTypePrice":{"example":500,"type":"number"},"storagePrice":{"example":1000,"type":"number"},"totalPrice":{"example":1500,"type":"number"}},"required":["totalPrice","storagePrice","machineTypePrice"],"type":"object"},"de.mittwald.v1.order.Profile":{"properties":{"email":{"format":"email","type":"string"},"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"},"title":{"description":"the users title","enum":["other","mr","ms"],"type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","email"],"type":"object"},"de.mittwald.v1.order.ProjectHostingOrderPreview":{"properties":{"customerId":{"type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":20,"type":"number"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.MachineTypeSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.order.HardwareSpec"}]}},"required":["diskspaceInGiB","spec"],"type":"object"},"de.mittwald.v1.order.ProjectHostingOrder":{"properties":{"customerId":{"example":"0f5ec9cd-1b1b-4850-9061-fcebe765c62d","type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":20,"type":"number"},"promotionCode":{"example":"123456","type":"string"},"recommendationCode":{"example":"mp-123456","type":"string"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.MachineTypeSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.order.HardwareSpec"}]},"useFreeTrial":{"type":"boolean"}},"required":["customerId","diskspaceInGiB","description","spec"],"type":"object"},"de.mittwald.v1.order.ProjectHostingTariffChange":{"properties":{"contractId":{"type":"string"},"diskspaceInGiB":{"example":20,"type":"number"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.MachineTypeSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.order.HardwareSpec"}]}},"required":["contractId","diskspaceInGiB","spec"],"type":"object"},"de.mittwald.v1.order.ServerOrderPreview":{"properties":{"customerId":{"example":"f3435305-fd26-470e-9f21-43d9be7e67e7","type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":100,"type":"number"},"machineType":{"example":"shared.xlarge","type":"string"}},"required":["machineType","diskspaceInGiB"],"type":"object"},"de.mittwald.v1.order.ServerOrder":{"properties":{"customerId":{"example":"f3435305-fd26-470e-9f21-43d9be7e67e7","minLength":1,"type":"string"},"description":{"example":"My first project","type":"string"},"diskspaceInGiB":{"example":100,"type":"number"},"machineType":{"example":"shared.xlarge","type":"string"},"promotionCode":{"example":"123456","type":"string"},"recommendationCode":{"example":"mp-123456","type":"string"},"useFreeTrial":{"type":"boolean"}},"required":["customerId","machineType","diskspaceInGiB","description"],"type":"object"},"de.mittwald.v1.order.ServerTariffChange":{"properties":{"contractId":{"format":"uuid","type":"string"},"diskspaceInGiB":{"example":100,"type":"number"},"machineType":{"example":"shared.xlarge","type":"string"}},"required":["contractId","machineType","diskspaceInGiB"],"type":"object"},"de.mittwald.v1.article.ArticleAddons":{"properties":{"hidden":{"type":"boolean"},"key":{"minLength":1,"type":"string"},"type":{"type":"string"},"value":{"type":"string"},"valueMergeType":{"enum":["add","set"],"type":"string"}},"required":["key","value"],"type":"object"},"de.mittwald.v1.article.ArticleAttributes":{"properties":{"customerEditable":{"type":"boolean"},"key":{"example":"cpu","minLength":1,"type":"string"},"mergeType":{"enum":["add","set"],"type":"string"},"readonly":{"type":"boolean"},"required":{"type":"boolean"},"unit":{"example":"GHz","type":"string"},"value":{"example":"4","type":"string"}},"required":["key"],"type":"object"},"de.mittwald.v1.article.ReadableBookableArticleOptions":{"properties":{"articleId":{"example":"PS23-BASIC-0001","minLength":1,"type":"string"},"info":{"properties":{"articleName":{"example":"proSpace lite","type":"string"},"articleTemplateName":{"example":"proSpace","type":"string"},"fromArticleTemplate":{"type":"boolean"}},"type":"object"},"maxArticleCount":{"example":10,"type":"number"}},"required":["articleId"],"type":"object"},"de.mittwald.v1.article.ReadableChangeArticleOptions":{"properties":{"articleId":{"minLength":1,"type":"string"},"info":{"properties":{"articleName":{"example":"proSpace lite","type":"string"},"articleTemplateName":{"example":"proSpace","type":"string"},"fromArticleTemplate":{"type":"boolean"}},"type":"object"}},"required":["articleId"],"type":"object"},"de.mittwald.v1.article.ReadableModifierArticleOptions":{"properties":{"articleId":{"minLength":1,"type":"string"},"info":{"properties":{"articleName":{"example":"proSpace lite","type":"string"},"articleTemplateName":{"example":"proSpace","type":"string"},"fromArticleTemplate":{"type":"boolean"}},"type":"object"},"maxArticleCount":{"minimum":1,"type":"number"}},"required":["articleId","maxArticleCount"],"type":"object"},"de.mittwald.v1.article.ArticleTag":{"properties":{"description":{"example":"CPU optimized","minLength":1,"type":"string"},"hexColor":{"example":"#ff0000","minLength":1,"type":"string"},"id":{"example":"58e39bbe-fcd1-4fde-887c-f49ff85b9df5","minLength":1,"type":"string"},"name":{"example":"cpu-optimized","minLength":1,"type":"string"}},"required":["id"],"type":"object"},"de.mittwald.v1.article.ArticleTemplate":{"properties":{"additionalArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableBookableArticleOptions"},"type":"array"},"addons":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAddons"},"type":"array"},"attributes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAttributes"},"type":"array"},"description":{"example":"Space-Storage","type":"string"},"id":{"example":"054e27e4-d3ed-4ffc-a472-fbb74a6a2ec1","minLength":1,"type":"string"},"isManagedByDomain":{"type":"boolean"},"isRecurring":{"type":"boolean"},"modifierArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableModifierArticleOptions"},"type":"array"},"name":{"example":"Speicher für Space-Server aller Art","minLength":3,"type":"string"},"type":{"enum":["miscellaneous","base","additional","modifier","setup_fee"],"type":"string"}},"required":["id","name","isRecurring","type","isManagedByDomain"],"type":"object"},"de.mittwald.v1.article.ReadableArticle":{"properties":{"addons":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAddons"},"type":"array"},"articleId":{"example":"PS23-BASIC-0001","minLength":3,"type":"string"},"attributes":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleAttributes"},"type":"array"},"balanceAddonKey":{"example":"inclusive_domains","type":"string"},"contractDurationInMonth":{"example":0,"maximum":42,"minimum":0,"type":"number"},"description":{"example":"proSpace without dedicated resources","type":"string"},"forcedInvoicingPeriodInMonth":{"example":0,"minimum":0,"type":"number"},"hasIndependentContractPeriod":{"type":"boolean"},"hideOnInvoice":{"type":"boolean"},"machineType":{"properties":{"cpu":{"example":1,"type":"string"},"memory":{"example":10,"type":"string"},"name":{"example":"psplus-shared","type":"string"}},"required":["name","cpu","memory"],"type":"object"},"modifierArticles":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableModifierArticleOptions"},"type":"array"},"name":{"example":"proSpace lite","minLength":3,"type":"string"},"orderable":{"enum":["forbidden","internal","beta_testing","full","deprecated"],"type":"string"},"possibleArticleChanges":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableChangeArticleOptions"},"type":"array"},"price":{"example":1000,"type":"number"},"tags":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleTag"},"type":"array"},"template":{"$ref":"#/components/schemas/de.mittwald.v1.article.ArticleTemplate"}},"required":["articleId","name","contractDurationInMonth","orderable","template"],"type":"object"},"de.mittwald.v1.project.AvatarRules":{"properties":{"maxSizeInKB":{"example":3000,"type":"integer"},"mimeTypes":{"example":["image/jpeg","image/png"],"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"},"de.mittwald.v1.project.DeprecatedProjectReadinessStatus":{"deprecated":true,"description":"deprecated by property status","enum":["creating","ready","unready"],"type":"string"},"de.mittwald.v1.project.DeprecatedServerReadinessStatus":{"deprecated":true,"description":"deprecated by property status","enum":["creating","ready","unready"],"type":"string"},"de.mittwald.v1.project.FilesystemDirectoryListing":{"properties":{"absolutePath":{"type":"string"},"isDirectory":{"type":"boolean"},"isExecutable":{"type":"boolean"},"isFile":{"type":"boolean"},"isSymlink":{"type":"boolean"},"items":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemDirectoryListing"},"type":"array"},"name":{"type":"string"},"size":{"type":"integer"},"target":{"type":"string"}},"required":["absolutePath","name","size"],"type":"object"},"de.mittwald.v1.project.FilesystemUsagesDisk":{"properties":{"path":{"type":"string"},"totalBytes":{"type":"integer"},"usedBytes":{"type":"integer"}},"type":"object"},"de.mittwald.v1.project.FsApiJwt":{"properties":{"jwt":{"example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSBMb3ZlbGFjZSIsImlhdCI6MTUxNjIzOTAyMn0.sMjBP_p34T5mbJTVdEWQ8i2hQPVxsmlt8L6-rKpCczo","type":"string"}},"required":["jwt"],"type":"object"},"de.mittwald.v1.project.HardwareSpec":{"properties":{"cpu":{"example":"2","type":"string"},"mem":{"deprecated":true,"description":"deprecated by memory","example":"4Gi","type":"string"},"memory":{"example":"4Gi","type":"string"},"storage":{"example":"50Gi","type":"string"}},"required":["storage"],"type":"object"},"de.mittwald.v1.project.MachineType":{"properties":{"cpu":{"example":"2","type":"string"},"memory":{"example":"4Gi","type":"string"},"name":{"example":"shared.large","type":"string"}},"required":["name","cpu","memory"],"type":"object"},"de.mittwald.v1.project.DisableReason":{"enum":["maliciousCode","illegalContent","maliciousConduct","suspended"],"type":"string"},"de.mittwald.v1.project.ProjectStatus":{"enum":["pending","ready","preparingForVolumeMigration","migratingVolume","error","disabled"],"type":"string"},"de.mittwald.v1.project.Project":{"properties":{"backupStorageUsageInBytes":{"format":"int64","type":"integer"},"backupStorageUsageInBytesSetAt":{"format":"date-time","type":"string"},"clusterDomain":{"example":"project.host","format":"hostname","type":"string"},"clusterID":{"deprecated":true,"description":"deprecated by property clusterId","example":"espelkamp","type":"string"},"clusterId":{"example":"espelkamp","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerId":{"example":"f282f1a8-2b15-4b08-9850-6788e3b20136","type":"string"},"description":{"example":"My first Project!","type":"string"},"directories":{"additionalProperties":{"type":"string"},"example":{"Home":"/home/p-4e7tz3"},"type":"object"},"disableReason":{"$ref":"#/components/schemas/de.mittwald.v1.project.DisableReason"},"disabledAt":{"format":"date-time","type":"string"},"enabled":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"imageRefId":{"format":"uuid","type":"string"},"isReady":{"deprecated":true,"description":"deprecated by property status","type":"boolean"},"projectHostingId":{"format":"uuid","type":"string"},"readiness":{"$ref":"#/components/schemas/de.mittwald.v1.project.DeprecatedProjectReadinessStatus"},"serverId":{"format":"uuid","type":"string"},"serverShortId":{"type":"string"},"shortId":{"example":"s-4e7tz3","type":"string"},"spec":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.project.VisitorSpec"},{"$ref":"#/components/schemas/de.mittwald.v1.project.HardwareSpec"}]},"statisticsBaseDomain":{"example":"pe-prod.staging.mcloud.services","format":"hostname","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.project.ProjectStatus"},"statusSetAt":{"format":"date-time","type":"string"},"webStorageUsageInBytes":{"format":"int64","type":"integer"},"webStorageUsageInBytesSetAt":{"format":"date-time","type":"string"}},"required":["id","shortId","description","enabled","customerId","directories","createdAt","isReady","readiness","status","statusSetAt","webStorageUsageInBytes","webStorageUsageInBytesSetAt","backupStorageUsageInBytes","backupStorageUsageInBytesSetAt"],"type":"object"},"de.mittwald.v1.project.ServerDisableReason":{"enum":["suspended"],"type":"string"},"de.mittwald.v1.project.ServerStatus":{"enum":["pending","ready","unready"],"type":"string"},"de.mittwald.v1.project.Server":{"properties":{"clusterName":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerId":{"example":"673c107f-75e1-451c-8eaa-5bf101bd2b2c","type":"string"},"description":{"example":"My first Server!","type":"string"},"disabledReason":{"$ref":"#/components/schemas/de.mittwald.v1.project.ServerDisableReason"},"id":{"format":"uuid","type":"string"},"imageRefId":{"format":"uuid","type":"string"},"isReady":{"deprecated":true,"description":"deprecated by property status","type":"boolean"},"machineType":{"$ref":"#/components/schemas/de.mittwald.v1.project.MachineType"},"readiness":{"$ref":"#/components/schemas/de.mittwald.v1.project.DeprecatedServerReadinessStatus"},"shortId":{"example":"s-4e7tz3","type":"string"},"statisticsBaseDomain":{"example":"pe-prod.staging.mcloud.services","format":"hostname","type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.project.ServerStatus"},"storage":{"example":"50Gi","type":"string"}},"required":["id","shortId","customerId","machineType","storage","description","isReady","readiness","createdAt","clusterName","status"],"type":"object"},"de.mittwald.v1.project.VisitorSpec":{"properties":{"storage":{"type":"string"},"visitors":{"type":"number"}},"required":["visitors","storage"],"type":"object"},"de.mittwald.v1.directus.Domain":{"properties":{"authCode":{"description":"The authcode of the domain. Leave empty when mittwald can generate a authcode on its own","type":"string"},"domainOwnerData":{"description":"Leave empty when mittwald should keep the same domain owner","type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"de.mittwald.v1.screenshot.Target":{"properties":{"domain":{"example":"example.com","type":"string"},"path":{"type":"string"},"scheme":{"enum":["http","https"],"example":"https","type":"string"}},"required":["scheme","domain"],"type":"object"},"de.mittwald.v1.screenshot.Task":{"properties":{"executedAt":{"format":"date-time","type":"string"},"fileReference":{"type":"string"},"id":{"format":"uuid","type":"string"},"priority":{"type":"number"},"settings":{"$ref":"#/components/schemas/de.mittwald.v1.screenshot.ScreenshotSettings"},"target":{"$ref":"#/components/schemas/de.mittwald.v1.screenshot.Target"},"taskState":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.screenshot.LifecycleState"},{"$ref":"#/components/schemas/de.mittwald.v1.commons.Error"}]}},"required":["id","settings","target","priority"],"type":"object"},"de.mittwald.v1.screenshot.LifecycleState":{"type":"string"},"de.mittwald.v1.screenshot.ScreenshotSettings":{"properties":{"dataType":{"enum":["jpeg","png","webp"],"type":"string"},"delay":{"type":"number"},"height":{"type":"number"},"quality":{"type":"number"},"width":{"type":"number"}},"required":["width","height","quality","delay","dataType"],"type":"object"},"de.mittwald.v1.sshuser.EntityTypes":{"enum":["ssh","sftp"],"type":"string"},"de.mittwald.v1.sshuser.AccessLevel":{"description":"The level of access for an SFTPUser.","enum":["full","read","unspecified"],"type":"string"},"de.mittwald.v1.sshuser.AuthType":{"description":"Method of authentication that a given SFTPUser or SSHuser supports.","enum":["password","publicKey"],"type":"string"},"de.mittwald.v1.sshuser.Authentication":{"description":"Method of authentication for an SFTPUser or SSHUser. Can be password or public-keys.","oneOf":[{"properties":{"password":{"maxLength":72,"type":"string"}},"required":["password"],"type":"object"},{"properties":{"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"}},"required":["publicKeys"],"type":"object"}]},"de.mittwald.v1.sshuser.PublicKey":{"description":"A representation of an ssh-public-key.","properties":{"comment":{"type":"string"},"key":{"type":"string"}},"required":["comment","key"],"type":"object"},"de.mittwald.v1.sshuser.SftpUser":{"description":"A representation of an SFTPUser.","properties":{"accessLevel":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.AccessLevel"},"active":{"type":"boolean"},"authUpdatedAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"directories":{"items":{"type":"string"},"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"hasPassword":{"type":"boolean"},"id":{"type":"string"},"projectId":{"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"},"updatedAt":{"format":"date-time","type":"string"},"userName":{"type":"string"}},"required":["id","projectId","description","userName","createdAt","authUpdatedAt","accessLevel","hasPassword"],"type":"object"},"de.mittwald.v1.sshuser.SshUser":{"description":"A representation of an SSHUser.","properties":{"active":{"type":"boolean"},"authUpdatedAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"hasPassword":{"type":"boolean"},"id":{"type":"string"},"projectId":{"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"},"updatedAt":{"format":"date-time","type":"string"},"userName":{"type":"string"}},"required":["id","projectId","description","userName","createdAt","authUpdatedAt","hasPassword"],"type":"object"},"de.mittwald.v1.ssl.Certificate":{"properties":{"caBundle":{"type":"string"},"certificate":{"type":"string"},"certificateOrderId":{"format":"uuid","type":"string"},"certificateRequestId":{"format":"uuid","type":"string"},"certificateType":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateType"},"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"dnsNames":{"items":{"type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"isExpired":{"type":"boolean"},"issuer":{"type":"string"},"lastExpirationThresholdHit":{"type":"integer"},"projectId":{"format":"uuid","type":"string"},"validFrom":{"format":"date-time","type":"string"},"validTo":{"format":"date-time","type":"string"}},"required":["id","certificateType","certificateRequestId","projectId","validFrom","validTo","certificate","isExpired","lastExpirationThresholdHit"],"type":"object"},"de.mittwald.v1.ssl.CertificateData":{"properties":{"caBundle":{"type":"string"},"certificate":{"type":"string"},"signingRequest":{"type":"string"}},"type":"object"},"de.mittwald.v1.ssl.CertificateError":{"properties":{"message":{"oneOf":[{"description":"Failed to read the certificate.","enum":["certificate_read_failed"],"type":"string"},{"description":"Failed to decode the certificate.","enum":["certificate_decode_failed"],"type":"string"},{"description":"An error occurred while parsing the certificate.","enum":["certificate_parsing_failed"],"type":"string"},{"description":"The certificate is self-signed.","enum":["certificate_self_signed"],"type":"string"},{"description":"The certificate is not authorized to sign.","enum":["certificate_not_authorized_to_sign"],"type":"string"},{"description":"The certificate has expired.","enum":["certificate_expired"],"type":"string"},{"description":"The Certificate Authority (CA) is not authorized for this name.","enum":["ca_not_authorized_for_this_name"],"type":"string"},{"description":"There are too many intermediate certificates.","enum":["too_many_intermediates"],"type":"string"},{"description":"The certificate's usage is incompatible.","enum":["incompatible_usage"],"type":"string"},{"description":"The certificate is signed by an unknown authority.","enum":["unknown_authority"],"type":"string"},{"description":"Failed to read the private key.","enum":["private_key_read_failed"],"type":"string"},{"description":"Failed to decode the private key.","enum":["private_key_decode_failed"],"type":"string"},{"description":"An error occurred while parsing the private key.","enum":["private_key_parse_failed"],"type":"string"},{"description":"The private key is encrypted.","enum":["private_key_encrypted"],"type":"string"},{"description":"The private key is not RSA.","enum":["private_key_not_rsa"],"type":"string"},{"description":"The private key does not match the certificate.","enum":["private_key_mismatch"],"type":"string"},{"description":"An unknown error occurred related to Cloudflare.","enum":["unknown_cloudflare_error"],"type":"string"},{"description":"An unknown error occurred.","enum":["unknown"],"type":"string"}]}},"required":["message"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequest":{"properties":{"certificateData":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateData"},"certificateType":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateType"},"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"createdAt":{"format":"date-time","type":"string"},"dnsNames":{"items":{"type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"isCompleted":{"type":"boolean"},"issuer":{"type":"string"},"projectId":{"format":"uuid","type":"string"},"validFrom":{"format":"date-time","type":"string"},"validTo":{"format":"date-time","type":"string"}},"required":["id","certificateType","projectId","certificateData","isCompleted","createdAt"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequestCreateRequest":{"properties":{"certificate":{"type":"string"},"privateKey":{"type":"string"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","certificate","privateKey"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequestCreateResponse":{"properties":{"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"dnsNames":{"items":{"type":"string"},"type":"array"},"id":{"format":"uuid","type":"string"},"issuer":{"type":"string"},"signingRequest":{"type":"string"},"validFrom":{"format":"date-time","type":"string"},"validTo":{"format":"date-time","type":"string"}},"required":["id","contact"],"type":"object"},"de.mittwald.v1.ssl.CertificateRequestCreateWithCSRRequest":{"properties":{"commonName":{"type":"string"},"contact":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Contact"},"projectId":{"format":"uuid","type":"string"}},"required":["projectId","commonName","contact"],"type":"object"},"de.mittwald.v1.ssl.CertificateType":{"enum":[0,1,2],"type":"integer"},"de.mittwald.v1.ssl.CheckReplaceChanges":{"properties":{"commonName":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceFieldChange"},"dnsNames":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceSliceChange"},"issuer":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceFieldChange"},"validFrom":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceDateChange"},"validTo":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceDateChange"}},"type":"object"},"de.mittwald.v1.ssl.CheckReplaceDateChange":{"properties":{"newValue":{"format":"date-time","type":"string"},"oldValue":{"format":"date-time","type":"string"}},"required":["oldValue","newValue"],"type":"object"},"de.mittwald.v1.ssl.CheckReplaceFieldChange":{"properties":{"newValue":{"type":"string"},"oldValue":{"type":"string"}},"required":["oldValue","newValue"],"type":"object"},"de.mittwald.v1.ssl.CheckReplaceCertificateResponse":{"properties":{"changes":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceChanges"},"errors":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateError"},"type":"array"},"isReplaceable":{"type":"boolean"}},"required":["isReplaceable"],"type":"object"},"de.mittwald.v1.ssl.CheckReplaceSliceChange":{"properties":{"addedValues":{"items":{"type":"string"},"type":"array"},"removedValues":{"items":{"type":"string"},"type":"array"},"values":{"items":{"type":"string"},"type":"array"}},"required":["values","addedValues","removedValues"],"type":"object"},"de.mittwald.v1.ssl.Contact":{"properties":{"city":{"type":"string"},"company":{"type":"string"},"country":{"description":"Two letter abbreviation - country code (ISO 3166-1 Alpha-2).","example":"DE","pattern":"^[A-Z]{2}$","type":"string"},"organizationalUnit":{"type":"string"},"state":{"type":"string"}},"type":"object"},"de.mittwald.v1.signup.Account":{"properties":{"email":{"example":"a.lovelace@example.com","format":"email","type":"string"},"mfaDetails":{"description":"The users mfa details.","properties":{"mfaConfirmed":{"type":"boolean"},"mfaInitialized":{"type":"boolean"}},"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"userId":{"type":"string"}},"type":"object"},"de.mittwald.v1.signup.ApiToken":{"properties":{"apiTokenId":{"format":"uuid","type":"string"},"createdAt":{"format":"date-time","type":"string"},"description":{"example":"Api Token - read","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"roles":{"items":{"enum":["api_read","api_write"],"type":"string"},"type":"array"}},"required":["apiTokenId","roles","description","createdAt"],"type":"object"},"de.mittwald.v1.signup.DeviceInfo":{"properties":{"browser":{"example":"Safari","type":"string"},"model":{"example":"Apple Macintosh","type":"string"},"os":{"example":"Mac OS","type":"string"},"type":{"example":"Macbook","type":"string"}},"type":"object"},"de.mittwald.v1.signup.DomainError":{"properties":{"info":{"description":"A json object, given further information about the error","type":"object"},"message":{"description":"Some more detailed information about the error","type":"string"},"name":{"description":"Unique key for the error type","type":"string"}},"required":["name","message"],"type":"object"},"de.mittwald.v1.signup.Location":{"properties":{"city":{"example":"Espelkamp","type":"string"},"country":{"example":"DE","type":"string"},"ipAddress":{"format":"ipv4","type":"string"}},"type":"object"},"de.mittwald.v1.signup.Profile":{"properties":{"email":{"example":"a.lovelace@example.com","format":"email","type":"string"},"mfaDetails":{"description":"the users mfa details","properties":{"mfaConfirmed":{"type":"boolean"},"mfaInitialized":{"type":"boolean"}},"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"userId":{"type":"string"}},"type":"object"},"de.mittwald.v1.user.CustomerMembership":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"memberSince":{"format":"date-time","type":"string"},"role":{"enum":["owner","member","accountant"],"type":"string"}},"required":["role","memberSince"],"type":"object"},"de.mittwald.v1.user.UserFeedback":{"properties":{"id":{"format":"uuid","type":"string"},"message":{"maxLength":1000,"type":"string"},"origin":{"maxLength":1000,"type":"string"},"subject":{"maxLength":100,"minLength":1,"type":"string"},"vote":{"maximum":10,"minimum":0,"type":"number"}},"required":["id","subject","vote","origin","message"],"type":"object"},"de.mittwald.v1.user.ProjectMembership":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"inherited":{"type":"boolean"},"memberSince":{"format":"date-time","type":"string"},"role":{"enum":["owner","emailadmin","external"],"type":"string"}},"required":["role","memberSince","inherited"],"type":"object"},"de.mittwald.v1.user.User":{"properties":{"avatarRef":{"format":"uuid","type":"string"},"customerMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.CustomerMembership"},"type":"object"},"email":{"format":"email","type":"string"},"employeeInformation":{"description":"Additional information about mittwald employees.","properties":{"department":{"example":"Kundenservice","type":"string"}},"required":["department"],"type":"object"},"isEmployee":{"description":"Truth value, whether the user is a mittwald employee","type":"boolean"},"mfa":{"properties":{"active":{"default":false,"type":"boolean"},"setup":{"default":false,"type":"boolean"}},"required":["active","setup"],"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"phoneNumber":{"example":"+491701234567","type":"string"},"projectMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.ProjectMembership"},"type":"object"},"registeredAt":{"format":"date-time","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","person"],"type":"object"},"de.mittwald.v1.user.UserInternal":{"properties":{"avatarRef":{"format":"uuid","type":"string"},"customerMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.CustomerMembership"},"type":"object"},"disabled":{"description":"Truth value, whether the user has been disabled.","type":"boolean"},"disabledAt":{"format":"date-time","type":"string"},"disabledBy":{"format":"uuid","type":"string"},"email":{"format":"email","type":"string"},"employeeInformation":{"description":"Additional information about mittwald employees.","properties":{"department":{"example":"Kundenservice","type":"string"}},"required":["department"],"type":"object"},"isEmployee":{"description":"Truth value, whether the user is a mittwald employee","type":"boolean"},"mfa":{"properties":{"active":{"default":false,"type":"boolean"},"setup":{"default":false,"type":"boolean"}},"required":["active","setup"],"type":"object"},"passwordUpdatedAt":{"format":"date-time","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"},"phoneNumber":{"example":"+491701234567","type":"string"},"projectMemberships":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.user.ProjectMembership"},"type":"object"},"registeredAt":{"format":"date-time","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","person"],"type":"object"},"de.mittwald.v1.signup.SshKey":{"properties":{"algorithm":{"example":"ssh-rsa","type":"string"},"comment":{"example":"a.lovelace@example.com","type":"string"},"createdAt":{"format":"date-time","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"fingerprint":{"example":"a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1","format":"hexdump","type":"string"},"key":{"type":"string"},"sshKeyId":{"format":"uuid","type":"string"}},"required":["sshKeyId","algorithm","key","comment","fingerprint","createdAt"],"type":"object"},"de.mittwald.v1.poll.UserPollSettings":{"properties":{"completedAt":{"format":"date-time","type":"string"},"dontShowUntil":{"format":"date-time","type":"string"},"ignoredAt":{"format":"date-time","type":"string"},"shouldShow":{"type":"boolean"},"status":{"enum":["completed","muted","ignored","new"],"type":"string"},"userId":{"type":"string"}},"required":["userId","shouldShow","status"],"type":"object"},"de.mittwald.v1.signup.UserSession":{"properties":{"created":{"format":"date-time","type":"string"},"device":{"$ref":"#/components/schemas/de.mittwald.v1.signup.DeviceInfo"},"lastAccess":{"format":"date-time","type":"string"},"location":{"$ref":"#/components/schemas/de.mittwald.v1.signup.Location"},"tokenId":{"format":"uuid","type":"string"}},"required":["device","created","tokenId"],"type":"object"},"de.mittwald.v1.varnish.ConfigRevision":{"properties":{"expire":{"type":"integer"},"files":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileRef"},"type":"array"},"note":{"type":"string"},"revision":{"minimum":1,"type":"integer"},"updated":{"format":"date-time","type":"string"}},"required":["revision","updated","files"],"type":"object"},"de.mittwald.v1.varnish.ConfigTemplate":{"properties":{"files":{"description":"A set of config file references.","items":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileRef"},"type":"array"},"isGlobal":{"type":"boolean"},"note":{"type":"string"},"projectId":{"type":"string"},"softwareConfigTemplateId":{"type":"string"},"softwareTemplateId":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["softwareConfigTemplateId","softwareTemplateId","files"],"type":"object"},"de.mittwald.v1.varnish.ConfigFile":{"properties":{"content":{"format":"bytes","type":"string"},"meta":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileMetadata"}},"required":["content"],"type":"object"},"de.mittwald.v1.varnish.ConfigFileMetadata":{"properties":{"name":{"type":"string"},"path":{"type":"string"}},"required":["name"],"type":"object"},"de.mittwald.v1.varnish.ConfigFileRef":{"properties":{"meta":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigFileMetadata"},"refId":{"type":"string"}},"required":["refId"],"type":"object"},"de.mittwald.v1.varnish.GlobalConfigTemplate":{"properties":{"data":{"format":"byte","type":"string"},"name":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["name","data","updatedAt"],"type":"object"},"de.mittwald.v1.varnish.Software":{"properties":{"config":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.SoftwareConfig"},"projectId":{"type":"string"},"settings":{"additionalProperties":{"type":"string"},"type":"object"},"softwareId":{"type":"string"},"softwareTemplateId":{"type":"string"},"softwareVersion":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["softwareId","updatedAt","softwareTemplateId","softwareVersion","projectId","config"],"type":"object"},"de.mittwald.v1.varnish.SoftwareConfig":{"properties":{"configExpiration":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigExpiration"},"latestConfigRevision":{"type":"number"},"revisions":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.varnish.ConfigRevision"},"type":"array"}},"type":"object"},"de.mittwald.v1.varnish.ConfigExpiration":{"properties":{"maxVersions":{"type":"number"},"retentionTime":{"type":"number"}},"type":"object"},"de.mittwald.v1.varnish.SoftwareConfigFileAccessToken":{"properties":{"accessToken":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["accessToken","expiresAt"],"type":"object"},"de.mittwald.v1.varnish.SoftwareSetting":{"properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"de.mittwald.v1.commons.Address":{"type":"object","properties":{"street":{"type":"string","example":"Königsberger Straße"},"houseNumber":{"type":"string","example":"4-6"},"city":{"type":"string","example":"Espelkamp"},"zip":{"type":"string","example":"32339"},"countryCode":{"type":"string","example":"DE","description":"ISO 3166-1 alpha-2 country code"},"addressPrefix":{"type":"string","example":"c/o Ada Lovelace"}},"required":["street","houseNumber","city","zip","countryCode"]},"de.mittwald.v1.commons.Error":{"type":"object","required":["type","message"],"properties":{"message":{"type":"string","example":"Something went wrong"},"type":{"type":"string","example":"InternalServerError"}}},"de.mittwald.v1.commons.Person":{"type":"object","description":"The users personal information, e.g. first name.","properties":{"firstName":{"type":"string","description":"The users first name","example":"Ada"},"lastName":{"type":"string","description":"The users last name","example":"Lovelace"},"title":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Salutation"}},"required":["lastName","firstName"]},"de.mittwald.v1.commons.Salutation":{"type":"string","enum":["mr","ms","other"]},"de.mittwald.v1.commons.ValidationErrorSchema":{"type":"object","required":["message","path","type"],"properties":{"message":{"type":"string","description":"The standard error message","example":"should be string"},"path":{"type":"string","description":"The path to the part of the data that was validated. JavaScript property access notation (e.g., \".prop[1].subProp\") is used.\n","example":".address.street"},"type":{"type":"string","description":"ajv validation error type (e.g. \"format\", \"required\", \"type\") or own validation error types","example":"format"},"context":{"type":"object","example":{"format":"email"},"description":"The object with the additional information about the error that can be used to create custom error messages. Keys depend on the\ntype that failed validation (e.g. \"missingProperty\" for type \"required\")\n","additionalProperties":{"type":"string"}}}},"de.mittwald.v1.commons.ValidationErrors":{"type":"object","required":["type","validationErrors"],"properties":{"type":{"type":"string","enum":["ValidationError"]},"message":{"type":"string","example":"Validation failed"},"validationErrors":{"type":"array","items":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrorSchema"}}}}},"securitySchemes":{"de.mittwald.v1.common.LegacyAccessToken":{"description":"Legacy Access Token is required in header","in":"header","name":"Authorization","type":"apiKey"},"de.mittwald.v1.commons.AccessToken":{"description":"Access Token is required in header","in":"header","name":"x-access-token","type":"apiKey"},"de.mittwald.v1.commons.LegacyBearerAuthentication":{"description":"'Authorization: Bearer xyz' is required","in":"header","name":"Authorization","type":"apiKey"}}},"paths":{"/v2/app-installations/{appInstallationId}/actions/{action}":{"post":{"operationId":"app-execute-action","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"action","required":true,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.Action"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"204":{"description":"The given action has been executed."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Trigger a runtime action belonging to an AppInstallation.","tags":["App"]}},"/v2/apps/{appId}":{"get":{"operationId":"app-get-app","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.App"}}},"description":"The app object."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an App.","tags":["App"]}},"/v2/app-installations/{appInstallationId}":{"get":{"operationId":"app-get-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallation"}}},"description":"The AppInstallation."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an AppInstallation.","tags":["App"]},"patch":{"operationId":"app-patch-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"appVersionId":{"format":"uuid","type":"string"},"customDocumentRoot":{"type":"string"},"description":{"type":"string"},"systemSoftware":{"additionalProperties":{"properties":{"systemSoftwareVersion":{"type":"string"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareUpdatePolicy"}},"type":"object"},"type":"object"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"type":"object"}}},"description":"Properties to update for an AppInstallation.","required":true},"responses":{"204":{"description":"The AppInstallation has been patched."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update properties belonging to an AppInstallation.","tags":["App"]},"delete":{"operationId":"app-uninstall-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The app installation is going to be deleted."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Trigger an uninstallation process for an AppInstallation.","tags":["App"]}},"/v2/apps/{appId}/versions/{appVersionId}":{"get":{"operationId":"app-get-appversion","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"appVersionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppVersion"}}},"description":"The appVersion object."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an AppVersion.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/systemSoftware":{"get":{"operationId":"app-get-installed-systemsoftware-for-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"tagFilter","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftware"},"type":"array"}}},"description":"The list of installed 'SystemSoftware'."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the installed `SystemSoftware' for a specific `AppInstallation`.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/missing-dependencies":{"get":{"operationId":"app-get-missing-dependencies-for-appinstallation","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"targetAppVersionID","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"missingSystemSoftwareDependencies":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareDependency"},"type":"array"},"missingUserInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.UserInput"},"type":"array"}},"type":"object"}}},"description":"The missing dependencies of the AppInstallation for the target AppVersion."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the missing requirements of an appInstallation for a specific target AppVersion.","tags":["App"]}},"/v2/system-softwares/{systemSoftwareId}":{"get":{"operationId":"app-get-systemsoftware","parameters":[{"in":"path","name":"systemSoftwareId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftware"}}},"description":"The SystemSoftware."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a SystemSoftware.","tags":["App"]}},"/v2/system-software/{systemSoftwareId}/versions/{systemSoftwareVersionId}":{"get":{"operationId":"app-get-systemsoftwareversion","parameters":[{"in":"path","name":"systemSoftwareId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"systemSoftwareVersionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareVersion"}}},"description":"The systemSoftwareVersion object."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a SystemSoftwareVersion.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/database":{"patch":{"operationId":"app-link-database","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseId":{"format":"uuid","type":"string"},"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"},"purpose":{"enum":["primary","cache","custom"],"type":"string"}},"required":["databaseId","purpose"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The database has been linked."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create linkage between an AppInstallation and a MySQLDatabase.","tags":["App"]}},"/v2/app-installations":{"get":{"operationId":"app-list-appinstallations-for-user","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallation"},"type":"array"}}},"description":"Object containing the list of AppInstallations.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List AppInstallations that a user has access to.","tags":["App"],"parameters":[{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}]}},"/v2/projects/{projectId}/app-installations":{"get":{"operationId":"app-list-appinstallations","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallation"},"type":"array"}}},"description":"Object containing the list of AppInstallations.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List AppInstallations belonging to a Project.","tags":["App"]},"post":{"operationId":"app-request-appinstallation","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"appVersionId":{"format":"uuid","type":"string"},"description":{"type":"string"},"updatePolicy":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppUpdatePolicy"},"userInputs":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SavedUserInput"},"type":"array"}},"required":["appVersionId","description","userInputs","updatePolicy"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"The AppInstallation has been requested."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request an AppInstallation.","tags":["App"]}},"/v2/apps":{"get":{"operationId":"app-list-apps","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.App"},"type":"array"}}},"description":"Object containing the list of Apps.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Apps.","tags":["App"],"parameters":[{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}]}},"/v2/apps/{appId}/versions":{"get":{"operationId":"app-list-appversions","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"recommended","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppVersion"},"type":"array"}}},"description":"Object containing the list of AppVersions.","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List AppVersions belonging to an App.","tags":["App"]}},"/v2/system-softwares":{"get":{"operationId":"app-list-systemsoftwares","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftware"},"type":"array"}}},"description":"Object containing the list of SystemSoftwares.","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List SystemSoftwares.","tags":["App"],"parameters":[{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}]}},"/v2/system-software/{systemSoftwareId}/versions":{"get":{"operationId":"app-list-systemsoftwareversions","parameters":[{"in":"path","name":"systemSoftwareId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"versionRange","required":false,"schema":{"type":"string"}},{"in":"query","name":"recommended","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.SystemSoftwareVersion"},"type":"array"}}},"description":"Object containing the list of SystemSoftwareVersions.","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List SystemSoftwareVersions belonging to a SystemSoftware.","tags":["App"]}},"/v2/apps/{appId}/versions/{baseAppVersionId}/update-candidates":{"get":{"operationId":"app-list-update-candidates-for-appversion","parameters":[{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"baseAppVersionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppVersion"},"type":"array"}}},"description":"Object containing the list of AppVersions.","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List update candidates belonging to an AppVersion.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/database/replace":{"patch":{"operationId":"app-replace-database","parameters":[{"description":"The ID of the appinstallation you want the database to be replaced for.","in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseUserIds":{"additionalProperties":{"type":"string"},"description":"The IDs of the users of the database you want the old database to be replaced with.","type":"object"},"newDatabaseId":{"description":"The ID of the database you want the old database to be replaced with.","format":"uuid","type":"string"},"oldDatabaseId":{"description":"The ID of the database you want to be replaced.","format":"uuid","type":"string"}},"required":["oldDatabaseId","newDatabaseId"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The database has been linked."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Replace a MySQL Database with another MySQL Database.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/actions/copy":{"post":{"operationId":"app-request-appinstallation-copy","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"},"targetProjectId":{"format":"uuid","type":"string"}},"required":["description"],"type":"object"}}},"description":"Properties to copy an app installation.","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"The AppInstallation copy has been requested."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request a copy of an AppInstallation.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/status":{"get":{"operationId":"app-retrieve-status","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.app.AppInstallationStatus"}}},"description":"The appInstallation status."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get runtime status belonging to an AppInstallation.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/databases/{databaseId}/users":{"put":{"operationId":"app-set-database-users","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"databaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["databaseUserIds"],"type":"object"}}},"description":"Properties to update for the specified system software.","required":true},"responses":{"204":{"description":"The database users have been set."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create linkage between an AppInstallation and DatabaseUsers.","tags":["App"]}},"/v2/app-installations/{appInstallationId}/databases/{databaseId}":{"delete":{"operationId":"app-unlink-database","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"databaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The database has been unlinked."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove linkage between an AppInstallation and a Database.","tags":["App"]}},"/v2/articles/{articleId}":{"get":{"operationId":"article-get-article","parameters":[{"example":"PS23-PLUS-0004","in":"path","name":"articleId","required":true,"schema":{"type":"string"}},{"deprecated":true,"description":"not in use.","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"customerId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableArticle"}}},"description":"The Article object"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get an Article.","tags":["Article"]}},"/v2/articles":{"get":{"operationId":"article-list-articles","parameters":[{"deprecated":true,"description":"not in use.","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"customerId","required":false,"schema":{"type":"string"}},{"example":[],"in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"example":[],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"example":["PS23-PLUS-0004"],"in":"query","name":"articleIds","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"in":"query","name":"orderable","required":false,"schema":{"items":{"enum":["forbidden","internal","beta_testing","full","deprecated"],"type":"string"},"type":"array"}},{"example":"proSpace","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":1000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.article.ReadableArticle"},"type":"array"}}},"description":"Object containing the list of Articles","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List Articles.","tags":["Article"]}},"/v2/project-backups/{projectBackupId}/export":{"post":{"operationId":"backup-create-project-backup-export","parameters":[{"description":"ID of the ProjectBackup to export.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"format":{"description":"The desired format to export the ProjectBackup in.","enum":["tar","zip"],"example":"tar","type":"string"},"password":{"description":"Password to use to protect the archive.","example":"password","type":"string"}},"required":["format"],"type":"object"}}},"required":true},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Export a ProjectBackup for download.","tags":["Backup"]},"delete":{"operationId":"backup-delete-project-backup-export","parameters":[{"description":"ID if the ProjectBackup to delete the export of.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectBackupExport.","tags":["Backup"]}},"/v2/projects/{projectId}/backup-schedules":{"post":{"operationId":"backup-create-project-backup-schedule","parameters":[{"description":"ID of the Project to create a BackupSchedule for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the BackupSchedule.","type":"string"},"schedule":{"description":"Execution schedule in crontab notation.","example":"5 4 * * *","type":"string"},"ttl":{"description":"TTL of the BackupSchedule as time string.","example":"7d","type":"string"}},"required":["ttl","schedule"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupSchedule"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a BackupSchedule for a Project.","tags":["Backup"]},"get":{"operationId":"backup-list-project-backup-schedules","parameters":[{"description":"ID of the Project to list BackupSchedules for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupSchedule"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List BackupSchedules belonging to a Project.","tags":["Backup"]}},"/v2/projects/{projectId}/backups":{"post":{"operationId":"backup-create-project-backup","parameters":[{"description":"ID of the project to create a Backup for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the Backup.","example":"I'm a ProjectBackup","type":"string"},"expirationTime":{"description":"Time when to expire the Backup.","format":"date-time","type":"string"}},"required":["expirationTime"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackup"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Backup of a Project.","tags":["Backup"]},"get":{"operationId":"backup-list-project-backups","parameters":[{"description":"ID of the Project to get Backups for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackup"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Backups belonging to a Project.","tags":["Backup"]}},"/v2/project-backup-schedules/{projectBackupScheduleId}":{"delete":{"operationId":"backup-delete-project-backup-schedule","parameters":[{"description":"ID of the ProjectBackupSchedule to delete.","in":"path","name":"projectBackupScheduleId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectBackupSchedule.","tags":["Backup"]},"get":{"operationId":"backup-get-project-backup-schedule","parameters":[{"description":"ID of the ProjectBackupSchedule to retrieve.","in":"path","name":"projectBackupScheduleId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackupSchedule"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectBackupSchedule.","tags":["Backup"]},"patch":{"operationId":"backup-update-project-backup-schedule","parameters":[{"description":"ID of the ProjectBackupSchedule to be updated.","in":"path","name":"projectBackupScheduleId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the ProjectBackupSchedule. Note that the description of isSystemBackup true items cannot be changed.","example":"I'm a ProjectBackupSchedule","type":"string"},"schedule":{"description":"Execution schedule in crontab notation. Note that the schedule of isSystemBackup true items must be daily once.","example":"5 4 * * *","type":"string"},"ttl":{"description":"TTL of the ProjectBackupSchedule as time string.","example":"7d","type":"string"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a ProjectBackupSchedule.","tags":["Backup"]}},"/v2/project-backups/{projectBackupId}":{"delete":{"operationId":"backup-delete-project-backup","parameters":[{"description":"ID of the ProjectBackup to be deleted.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectBackup.","tags":["Backup"]},"get":{"operationId":"backup-get-project-backup","parameters":[{"description":"ID of the ProjectBackup to retrieve.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.backup.ProjectBackup"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectBackup.","tags":["Backup"]}},"/v2/project-backups/{projectBackupId}/description":{"patch":{"operationId":"backup-update-project-backup-description","parameters":[{"description":"ID of the ProjectBackup to change the description of.","in":"path","name":"projectBackupId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Description of the ProjectBackup.","example":"I'm a ProjectBackup","type":"string"}},"type":"object"}}},"required":true},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change the description of a ProjectBackup.","tags":["Backup"]}},"/v2/projects/{projectId}/registries":{"post":{"operationId":"container-create-registry","parameters":[{"description":"ID of the Project to create a Registry for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.CreateRegistry"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.Registry"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Registry.","tags":["Container"]},"get":{"operationId":"container-list-registries","parameters":[{"description":"ID of the Project to get Registries for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Filters the list depending on whether registry credentials exist.","in":"query","name":"hasCredentials","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.Registry"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Registries belonging to a Project.","tags":["Container"]}},"/v2/stacks/{stackId}":{"put":{"operationId":"container-declare-stack","parameters":[{"description":"ID of the Stack to create, update or delete Services or Volumes for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"services":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceDeclareRequest"},"type":"object"},"volumes":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeDeclareRequest"},"description":"Volumes belonging to a Stack. Removing results in a detach, delete must be explicit.","type":"object"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Declaratively create, update or delete Services or Volumes belonging to a Stack.","tags":["Container"]},"get":{"operationId":"container-get-stack","parameters":[{"description":"ID of the Stack to be retrieved.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Stack.","tags":["Container"]},"patch":{"operationId":"container-update-stack","parameters":[{"description":"ID of the Stack to create, update or delete Services or Volumes for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"services":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceRequest"},"type":"object"},"volumes":{"additionalProperties":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeRequest"},"description":"Volumes belonging to a Stack. Removing results in a detach, delete must be explicit.","type":"object"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create, update or delete Services or Volumes belonging to a Stack.","tags":["Container"]}},"/v2/registries/{registryId}":{"delete":{"operationId":"container-delete-registry","parameters":[{"description":"ID if the Registry to be deleted.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Registry.","tags":["Container"]},"get":{"operationId":"container-get-registry","parameters":[{"description":"ID of the Registry to be retrieved.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.Registry"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Registry.","tags":["Container"]},"patch":{"operationId":"container-update-registry","parameters":[{"description":"ID of the Registry to be updated.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.UpdateRegistry"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Registry.","tags":["Container"]}},"/v2/stacks/{stackId}/volumes/{volumeId}":{"delete":{"operationId":"container-delete-volume","parameters":[{"description":"ID of the Stack the Volume belongs too. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Volume to be deleted.","in":"path","name":"volumeId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Volume belonging to a Stack.","tags":["Container"]},"get":{"operationId":"container-get-volume","parameters":[{"description":"ID of the Stack the Volume belongs too. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Volume to be retrieved.","in":"path","name":"volumeId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Volume belonging to a Stack.","tags":["Container"]}},"/v2/container-image-config":{"get":{"operationId":"container-get-container-image-config","parameters":[{"description":"The image reference to get a ContainerImageConfig for.","in":"query","name":"imageReference","required":true,"schema":{"example":"mysql","type":"string"}},{"description":"ID of the Project to get a ContainerImageConfig with belonging Registry credentials for.","in":"query","name":"useCredentialsForProjectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Registry to get a ContainerImageConfig with credentials for.","in":"query","name":"useCredentialsForRegistryId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Whether ai data should be generated during request. The request duration can take up to 15 seconds.","in":"query","name":"generateAiData","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.ContainerImageConfig"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ContainerImageConfig.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/logs":{"get":{"operationId":"container-get-service-logs","parameters":[{"description":"ID of the Stack the Service belongs to. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to get logs for.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get logs belonging to a Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}":{"get":{"operationId":"container-get-service","parameters":[{"description":"ID of the Stack the Service belongs to. ID of the default Stack equals the ID of the Project.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to be retrieved.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceResponse"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Service belonging to a Stack.","tags":["Container"]}},"/v2/projects/{projectId}/services":{"get":{"operationId":"container-list-services","parameters":[{"description":"ID of the Stack to list Services for.","in":"query","name":"stackId","schema":{"format":"uuid","type":"string"}},{"description":"ID of the Project to list Services for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.ServiceResponse"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Services belonging to a Project.","tags":["Container"]}},"/v2/projects/{projectId}/stacks":{"get":{"operationId":"container-list-stacks","parameters":[{"description":"ID of the Project to list Stacks for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.StackResponse"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Stacks belonging to a Project.","tags":["Container"]}},"/v2/projects/{projectId}/volumes":{"get":{"operationId":"container-list-volumes","parameters":[{"description":"ID of the Stack to list Volumes for.","in":"query","name":"stackId","schema":{"format":"uuid","type":"string"}},{"description":"ID of the Project to list Volumes for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.container.VolumeResponse"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Volumes belonging to a Project.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/recreate":{"post":{"operationId":"container-recreate-service","parameters":[{"description":"ID of the Stack to recreate a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to recreate.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Recreate a Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/restart":{"post":{"operationId":"container-restart-service","parameters":[{"description":"ID of the Stack to restart a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to restart.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Restart a started Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/start":{"post":{"operationId":"container-start-service","parameters":[{"description":"ID of the Stack to start a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to start.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Start a stopped Service.","tags":["Container"]}},"/v2/stacks/{stackId}/services/{serviceId}/actions/stop":{"post":{"operationId":"container-stop-service","parameters":[{"description":"ID of the Stack to stop a Service for.","in":"path","name":"stackId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Service to stop.","in":"path","name":"serviceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Stop a started Service.","tags":["Container"]}},"/v2/actions/validate-container-registry-uri":{"post":{"operationId":"container-validate-container-registry-uri","requestBody":{"content":{"application/json":{"schema":{"description":"The Registry URI to validate.","properties":{"registryUri":{"type":"string"}},"required":["registryUri"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"valid":{"type":"boolean"}},"required":["valid"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Validate a Registries' URI.","tags":["Container"]}},"/v2/registries/{registryId}/actions/validate-credentials":{"post":{"operationId":"container-validate-registry-credentials","parameters":[{"description":"ID if the Registry to validate the credentials for.","in":"path","name":"registryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"valid":{"type":"boolean"}},"required":["valid"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Validate a Registries' credentials.","tags":["Container"]}},"/v2/contracts/{contractId}/items/{contractItemId}/termination":{"delete":{"operationId":"contract-cancel-contract-item-termination","parameters":[{"description":"The uuid of the Contract where the terminated ContractItem belongs to.","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the ContractItem for which the Termination is to be cancelled. Only works for ContractItem for which a Termination is stored.","example":"4d495bcd-4d4c-4bf9-b1c8-72b99a2ea7f2","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"isCancelled":{"type":"boolean"}}}}},"description":"Return the contractId and the contractItemId of the ContractItem where the Termination was cancelled."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Cancel the Termination for the referred ContractItem.","tags":["Contract"]},"post":{"operationId":"contract-terminate-contract-item","parameters":[{"example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"example":"19b2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"reason":{"description":"A reason for the Termination can be given as plain text.","example":"Server wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"description":"The termination date has to be a valid date according to activation and contract period of the ContractItem. If none given, the next possible termination date will be used.","format":"date-time","type":"string"}}}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"reason":{"example":"Server wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"format":"date-time","type":"string"}}}}},"description":"Return the contractId, the date on which the Termination will take place and the list of affected ContractItems."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Schedule the Termination of a ContractItem.","tags":["Contract"]}},"/v2/contracts/{contractId}/items/{contractItemId}/tariff-change":{"delete":{"operationId":"contract-cancel-contract-tariff-change","parameters":[{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the active ContractItem (not the one that would replace the old one after the TariffChange)\nfor which the TariffChange is to be cancelled. Only works for ContractItems for which a TariffChange is stored.\n","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"contractItemId":{"format":"uuid","type":"string"},"isCancelled":{"type":"boolean"}}}}},"description":"Returns the contractId of the Contract whose TariffChange was cancelled."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Cancel the TariffChange for the referred ContractItem.","tags":["Contract"]}},"/v2/contracts/{contractId}/termination":{"delete":{"operationId":"contract-cancel-contract-termination","parameters":[{"description":"The uuid of the Contract for which the Termination is to be cancelled. Only works for Contracts for which a\nTermination is stored.\n","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"isCancelled":{"type":"boolean"}}}}},"description":"Return the contractId of the Contract whose Termination was cancelled."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Cancel the Termination for the referred Contract.","tags":["Contract"]},"post":{"operationId":"contract-terminate-contract","parameters":[{"description":"The uuid of the Contract to be terminated.","example":"f6bb2d44-e6be-46dc-96f7-9602a7177a75","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"reason":{"description":"A reason for the termination can be given as plain text.","example":"Projekt wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"description":"The termination date has to be a valid date according to activation and contract period of the base ContractItem. If none given, the next possible termination date will be used.","format":"date-time","type":"string"}}}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"contractId":{"format":"uuid","type":"string"},"itemsScheduledForTermination":{"items":{"format":"uuid","type":"string"},"type":"array"},"reason":{"example":"Projekt wird nicht mehr benötigt","type":"string"},"terminationTargetDate":{"format":"date","type":"string"}}}}},"description":"Returns the contractId, the date on which the Termination will take place and the list of affected ContractItems."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Schedule the Termination of a Contract.","tags":["Contract"]}},"/v2/contracts/{contractId}/base-items":{"get":{"operationId":"contract-get-base-item-of-contract","parameters":[{"description":"The uuid of the Contract from which the BaseItem is to be issued.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"}}},"description":"The BaseItem of the Contract."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the BaseItem of the Contract with the given ID.","tags":["Contract"]}},"/v2/certificates/{certificateId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-certificate","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Certificate."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Certificate.","tags":["Contract"]}},"/v2/domains/{domainId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-domain","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Domain."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Domain.","tags":["Contract"]}},"/v2/projects/{projectId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-project","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Project."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Project.","tags":["Contract"]}},"/v2/servers/{serverId}/contract":{"get":{"operationId":"contract-get-detail-of-contract-by-server","parameters":[{"example":"0a6de990-b33f-4cf8-adba-025a26515657","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":"Returns an active Contract for the given Server."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the Contract for the given Server.","tags":["Contract"]}},"/v2/contracts/{contractId}/items/{contractItemId}":{"get":{"operationId":"contract-get-detail-of-contract-item","parameters":[{"description":"The uuid of the Contract where the desired ContractItem belongs to.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the ContractItem to be returned.","example":"19b3e88e-c656-4440-8b89-efbf881b9c6f","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.ContractItem"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the ContractItem with the given ID.","tags":["Contract"]}},"/v2/contracts/{contractId}":{"get":{"operationId":"contract-get-detail-of-contract","parameters":[{"description":"The uuid of the Contract to be returned.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Returns the Contract with the given ID.","tags":["Contract"]}},"/v2/contracts/{contractId}/items/{contractItemId}/next-termination-dates":{"get":{"operationId":"contract-get-next-termination-date-for-item","parameters":[{"description":"The uuid of the Contract where the desired ContractItem belongs to.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"contractId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The uuid of the ContractItem whose next TerminationDate is to be displayed.","example":"19b3e88e-c656-4440-8b89-efbf881b9c6f","in":"path","name":"contractItemId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"contractItemId":{"format":"uuid","type":"string"},"nextTerminationDate":{"format":"date-time","type":"string"}},"required":["contractItemId","nextTerminationDate"]}}},"description":"Return the next possible TerminationDate for the ContractItem as date."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return the next TerminationDate for the ContractItem with the given ID.","tags":["Contract"]}},"/v2/customers/{customerId}/contracts":{"get":{"operationId":"contract-list-contracts","parameters":[{"description":"The uuid of the Customer from whom all Contracts are to be returned.","example":"97cecfa0-2c3c-4272-a510-c775fcaade01","in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}},{"example":1000,"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.contract.Contract"},"type":"array"}}},"description":"Return the Contracts that belong to the Customer."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Return a list of Contracts for the given Customer.","tags":["Contract"]}},"/v2/contributors/{contributorId}/extensions/{extensionId}/extension-instances/{extensionInstanceId}/secret":{"put":{"operationId":"contributor-rotate-secret-for-extension-instance","parameters":[{"in":"path","name":"contributorId","required":true,"schema":{"type":"string"}},{"in":"path","name":"extensionId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"allowWebhookFailure":{"type":"boolean"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"secret":{"type":"string"},"webhookResult":{"properties":{"failure":{"type":"boolean"},"statusCode":{"description":"The status code returned by the external application.","type":"string"}},"required":["failure"],"type":"object"}},"required":["secret","webhookResult"],"type":"object"}}},"description":"Secret rotated successfully."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Rotate the secret for an extension instance.","tags":["Marketplace"]}},"/v2/conversations":{"post":{"operationId":"conversation-create-conversation","requestBody":{"content":{"application/json":{"schema":{"properties":{"categoryId":{"type":"string"},"mainUserId":{"format":"uuid","type":"string"},"relatedTo":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"sharedWith":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.ShareableAggregateReference"},"title":{"type":"string"}},"type":"object"}}},"description":"","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"}},"required":["conversationId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Create a conversation.","tags":["Conversation"]},"get":{"operationId":"conversation-list-conversations","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Conversation"},"type":"array"}}},"description":"The conversations list ordered by creation date"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get all conversation the authenticated user has created or has access to.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/messages":{"post":{"operationId":"conversation-create-message","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"fileIds":{"items":{"format":"uuid","type":"string"},"type":"array"},"messageContent":{"maxLength":8000,"type":"string"}}}}},"description":"","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"},"messageId":{"format":"uuid","type":"string"}},"required":["conversationId","messageId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Send a new message in the conversation.","tags":["Conversation"]},"get":{"operationId":"conversation-list-messages-by-conversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Message"},{"$ref":"#/components/schemas/de.mittwald.v1.conversation.StatusUpdate"}]},"type":"array"}}},"description":""},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get all message of the conversation.","tags":["Conversation"]}},"/v2/conversation-categories/{categoryId}":{"get":{"operationId":"conversation-get-category","parameters":[{"in":"path","name":"categoryId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Category"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a specific conversation category.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/members":{"get":{"operationId":"conversation-get-conversation-members","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.ConversationMembers"}}},"description":"The members of the conversation.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get members of a support conversation.","tags":["Conversation"]}},"/v2/customers/{customerId}/conversation-preferences":{"get":{"operationId":"conversation-get-conversation-preferences-of-customer","parameters":[{"in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.ConversationPreferences"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get preferences for customer conversations.","tags":["Conversation"]}},"/v2/conversations/{conversationId}":{"get":{"operationId":"conversation-get-conversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Conversation"}}},"description":"The metadata of the conversation.\nDoes not contain messages send in the conversation.\nUse [`/v2/conversations/{conversationId}/messages`](#/Conversation/conversation-service-get-messages-by-conversation-v2) to get the messages.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a support conversation.","tags":["Conversation"]},"put":{"operationId":"conversation-update-conversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"categoryId":{"format":"uuid","type":"string"},"relatedTo":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.AggregateReference"},"title":{"type":"string"}}}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"}},"required":["conversationId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update the basic properties of the conversation.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/files/{fileId}/access-token":{"get":{"operationId":"conversation-get-file-access-token","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"fileId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"accessToken":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["accessToken","expiresAt"],"type":"object"}}},"description":"The file access token required to access the file linked with the conversation.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request an access token for the File belonging to the Conversation.","tags":["Conversation"]}},"/v2/conversation-categories":{"get":{"operationId":"conversation-list-categories","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.conversation.Category"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get all conversation categories.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/files":{"post":{"operationId":"conversation-request-file-upload","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"},"rules":{"properties":{"maxSizeInKB":{"type":"integer"},"mimeTypes":{"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"},"uploadToken":{"type":"string"}},"required":["conversationId","uploadToken","rules"],"type":"object"}}},"description":"The upload token with additional rules describing what files can be uploaded using this token.\nThe token can be used with [`POST /v2/files`](#/Files/file-service-file-create) to upload a file that is\nlinked with the conversation.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Request a file upload token for the conversation.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/status":{"put":{"operationId":"conversation-set-conversation-status","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"enum":["open","answered","closed"],"type":"string"}},"required":["status"]}}},"description":"The object containing the new status of the conversation.\nThe statuses `open` and `answered` are displayed identically to the users as an open\n(unresolved) conversation. A conversation with the status `closed` is a solved issue.\nClosed conversations can be reopened by setting the status to `open` or by sending a\nmessage in the conversation.\n","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"conversationId":{"format":"uuid","type":"string"}},"required":["conversationId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update the status of a conversation.","tags":["Conversation"]}},"/v2/conversations/{conversationId}/messages/{messageId}":{"patch":{"operationId":"conversation-update-message","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"messageId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"messageContent":{"type":"string"}}}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"messageId":{"format":"uuid","type":"string"}},"required":["messageId"],"type":"object"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Update the content of the message","tags":["Conversation"]}},"/v2/projects/{projectId}/cronjobs":{"post":{"operationId":"cronjob-create-cronjob","parameters":[{"description":"ID of the Project you want to create a Cronjob for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobRequest"}}},"description":"cronjob"},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Cronjob.","tags":["Cronjob"]},"get":{"operationId":"cronjob-list-cronjobs","parameters":[{"description":"ID of the Project for which to list Cronjobs for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.Cronjob"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Cronjobs belonging to a Project.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}/executions":{"post":{"operationId":"cronjob-create-execution","parameters":[{"description":"ID of the Cronjob to trigger.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"description":"execution-id","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Trigger a Cronjob.","tags":["Cronjob"]},"get":{"operationId":"cronjob-list-executions","parameters":[{"description":"ID of the Cronjob for which to list CronjobExecutions for.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"since","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"until","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"status","required":false,"schema":{"example":"Complete","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobExecution"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CronjobExecutions belonging to a Cronjob.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}":{"delete":{"operationId":"cronjob-delete-cronjob","parameters":[{"description":"ID of the Cronjob to delete.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Cronjob.","tags":["Cronjob"]},"get":{"operationId":"cronjob-get-cronjob","parameters":[{"description":"ID of the Cronjob to be retrieved.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.Cronjob"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Cronjob.","tags":["Cronjob"]},"patch":{"operationId":"cronjob-update-cronjob","parameters":[{"description":"ID of the Cronjob to be updated.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"},"description":{"example":"i am a cronjob","type":"string"},"destination":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobUrl"},{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobCommand"}]},"email":{"format":"email","type":"string"},"interval":{"example":"*/5 * * * *","type":"string"},"timeout":{"maximum":86400,"minimum":1,"type":"number"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Cronjob.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}/executions/{executionId}":{"get":{"operationId":"cronjob-get-execution","parameters":[{"description":"ID of the CronjobExecution to be retrieved.","example":"cron-bd26li-28027320","in":"path","name":"executionId","required":true,"schema":{"type":"string"}},{"in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.cronjob.CronjobExecution"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CronjobExecution.","tags":["Cronjob"]}},"/v2/cronjobs/{cronjobId}/app-id":{"patch":{"operationId":"cronjob-update-cronjob-app-id","parameters":[{"description":"ID of the Cronjob to update.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"appId":{"format":"uuid","type":"string"}},"required":["appId"],"type":"object"}}},"description":"ID of the app to set."},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Cronjob's app id.","tags":["Cronjob"]}},"/v2/customer-invites/{customerInviteId}/actions/accept":{"post":{"operationId":"customer-accept-customer-invite","parameters":[{"description":"ID of the CustomerInvite to be accepted.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"invitationToken":{"description":"Token contained in the invite for authentication.","type":"string"}},"type":"object"}}},"required":true},"responses":{"204":{"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Accept a CustomerInvite.","tags":["Customer"]}},"/v2/customer/{customerId}/invites":{"post":{"operationId":"customer-create-customer-invite","parameters":[{"description":"ID of the Customer to create a CustomerInvite for.","in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mailAddress":{"description":"Mail-address of the person to be invited.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the resulting CustomerMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the CustomerInvite.","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"}},"required":["mailAddress","role"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a CustomerInvite.","tags":["Customer"]}},"/v2/customers":{"post":{"operationId":"customer-create-customer","requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Contact"},"vatId":{"type":"string"}},"required":["name"],"type":"object"}}},"description":"The customer to create","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"},"customerNumber":{"type":"string"},"name":{"type":"string"}},"required":["customerId","name","customerNumber"],"type":"object"}}},"description":"The new customer"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a new customer profile.","tags":["Customer"]},"get":{"operationId":"customer-list-customers","parameters":[{"description":"filter to list only customers where the authenticated user has the specified role. Can be a comma seperated list.","in":"query","name":"role","required":false,"schema":{"type":"string"}},{"description":"text search for customer number, customer name and id. Simple regular expressions are allowed.","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":1000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Customer"},"type":"array"}}},"description":"The list of customers the authenticated user is a member for","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all customer profiles the authenticated user has access to.","tags":["Customer"]}},"/v2/customers/{customerId}/recommendation-suggestions":{"post":{"operationId":"customer-create-recommendation-suggestion","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"suggestion":{"example":"a mittwald t-shirt","type":"string"}},"required":["suggestion"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"customerId":{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","type":"string"}},"type":"object"}}},"description":"The suggestion has been made."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Lets us know your idea for our recommendation programm.","tags":["Customer"]}},"/v2/customers/{customerId}/wallet":{"post":{"operationId":"customer-create-wallet","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","type":"string"}},"type":"object"}}},"description":"The Wallet has been created."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create the Wallet for the Customer.","tags":["Customer"]},"get":{"operationId":"customer-get-wallet","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","type":"string"},"points":{"example":10,"type":"number"},"recommendationCode":{"example":"m-123456","type":"string"},"walletId":{"example":"32485364-7500-4591-b5cb-4e25e4bd1f30","type":"string"}},"required":["customerId","walletId","points"],"type":"object"}}},"description":"The Wallet of the Customer"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Gets the Wallet of the Customer.","tags":["Customer"]}},"/v2/customer-invites/{customerInviteId}/actions/decline":{"post":{"operationId":"customer-decline-customer-invite","parameters":[{"description":"ID of the CustomerInvite to be declined.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Decline a CustomerInvite.","tags":["Customer"]}},"/v2/customer-invites/{customerInviteId}":{"delete":{"operationId":"customer-delete-customer-invite","parameters":[{"description":"ID if the CustomerInvite to be deleted.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a CustomerInvite.","tags":["Customer"]},"get":{"operationId":"customer-get-customer-invite","parameters":[{"description":"ID of the CustomerInvite to be retrieved.","in":"path","name":"customerInviteId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CustomerInvite.","tags":["Customer"]}},"/v2/customer-memberships/{customerMembershipId}":{"delete":{"operationId":"customer-delete-customer-membership","parameters":[{"description":"ID of the CustomerMembership to be deleted.","in":"path","name":"customerMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a CustomerMembership.","tags":["Customer"]},"get":{"operationId":"customer-get-customer-membership","parameters":[{"description":"ID of the CustomerMembership to retrieve.","in":"path","name":"customerMembershipId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerMembership"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CustomerMembership.","tags":["Customer"]},"patch":{"operationId":"customer-update-customer-membership","parameters":[{"description":"ID of the CustomerMembership to be updated.","in":"path","name":"customerMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"Time the CustomerMembership should expire at.","format":"date-time","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerRoles"}},"required":["role"],"type":"object"}}},"required":true},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a CustomerMembership.","tags":["Customer"]}},"/v2/customers/{customerId}":{"delete":{"operationId":"customer-delete-customer","parameters":[{"description":"The uuid of the customer to be deleted. Only customer without active contracts or unpaid invoices can be deleted.","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"}},"type":"object"}}},"description":"Returns the uuid of the deleted customer"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a customer profile.","tags":["Customer"]},"get":{"operationId":"customer-get-customer","parameters":[{"description":"The uuid of the customer to be returned","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Customer"}}},"description":"The customer object"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a customer profile.","tags":["Customer"]},"put":{"operationId":"customer-update-customer","parameters":[{"in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"},"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/de.mittwald.v1.customer.Contact"},"vatId":{"type":"string"}},"required":["customerId","name"],"type":"object"}}},"description":"The customer object to update","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"customerId":{"type":"string"},"customerNumber":{"type":"string"},"name":{"type":"string"}},"required":["customerId","name","customerNumber"],"type":"object"}}},"description":"Name and id of the updated customer"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a customer profile.","tags":["Customer"]}},"/v2/customer-token-invite":{"get":{"operationId":"customer-get-customer-token-invite","parameters":[{"description":"Token of the CustomerInvite to be retrieved.","in":"header","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"}}},"description":""},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CustomerInvite by token.","tags":["Customer"]}},"/v2/customers/{customerId}/legally-competent":{"get":{"operationId":"customer-is-customer-legally-competent","parameters":[{"description":"The uuid of the customer to be checked","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"isLegallyCompetent":{"type":"boolean"}},"type":"object"}}},"description":"Check if customer is allowed to order a paid item."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check if the customer profile has a valid contract partner configured.","tags":["Customer"]}},"/v2/customer/{customerId}/actions/leave":{"post":{"operationId":"customer-leave-customer","parameters":[{"description":"ID of the Customer to be left.","in":"path","name":"customerId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Leave a Customer.","tags":["Customer"]}},"/v2/customer-invites":{"get":{"operationId":"customer-list-customer-invites","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CustomerInvites belonging to the executing user.","tags":["Customer"]}},"/v2/customer-memberships":{"get":{"operationId":"customer-list-customer-memberships","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CustomerMemberships belonging to the executing user.","tags":["Customer"]}},"/v2/customers/{customerId}/invites":{"get":{"operationId":"customer-list-invites-for-customer","parameters":[{"description":"ID of the Customer to list invites for.","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Invites belonging to a Customer.","tags":["Customer"]}},"/v2/customers/{customerId}/memberships":{"get":{"operationId":"customer-list-memberships-for-customer","parameters":[{"description":"Customer to list memberships for.","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.CustomerMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Memberships belonging to a Customer.","tags":["Customer"]}},"/v2/customers/{customerId}/avatar":{"delete":{"operationId":"customer-remove-avatar","parameters":[{"description":"The uuid of the customer whose avatar is to be deleted","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Avatar removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Access Token missing or invalid"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove the avatar picture of the customer profile.","tags":["Customer"]},"post":{"operationId":"customer-request-avatar-upload","parameters":[{"description":"The uuid of the customer for whom an avatar upload is to be requested","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"properties":{"maxSizeInKB":{"type":"integer"},"mimeTypes":{"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"}},"required":["refId","rules"],"type":"object"}}},"description":"Avatar request was successful. Use the `refId` to upload your avatar to the file service."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Access Token missing or invalid"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Internal server error"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a new avatar upload for the customer profile.","tags":["Customer"]}},"/v2/customer-invites/{customerInviteId}/actions/resend":{"post":{"operationId":"customer-resend-customer-invite-mail","parameters":[{"description":"ID of the CustomerInvite to resend the mail for.","in":"path","name":"customerInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Resend the mail for a CustomerInvite.","tags":["Customer"]}},"/v2/projects/{projectId}/mysql-databases":{"post":{"operationId":"database-create-mysql-database","parameters":[{"description":"ID of the Project to create a MySQLDatabase for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"database":{"$ref":"#/components/schemas/de.mittwald.v1.database.CreateMySqlDatabase"},"user":{"$ref":"#/components/schemas/de.mittwald.v1.database.CreateMySqlUserWithDatabase"}},"required":["database","user"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["id","userId"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a MySQLDatabase with a MySQLUser.","tags":["Database"]},"get":{"operationId":"database-list-mysql-databases","parameters":[{"description":"ID of the Project to list MySQLDatabases for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlDatabase"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MySQLDatabases belonging to a Project.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}/users":{"post":{"operationId":"database-create-mysql-user","parameters":[{"description":"ID of the MySQLDatabase to create a MySQLUser for.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.CreateMySqlUser"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a MySQLUser.","tags":["Database"]},"get":{"operationId":"database-list-mysql-users","parameters":[{"description":"ID of the MySQLDatabase to list Users for.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlUser"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MySQLUsers belonging to a Database.","tags":["Database"]}},"/v2/projects/{projectId}/redis-databases":{"post":{"operationId":"database-create-redis-database","parameters":[{"description":"ID of the Project to create a RedisDatabase for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"example":{"description":"My first RedisDatabase!","version":"7.0"},"properties":{"configuration":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabaseConfiguration"},"description":{"description":"A description for the database.","type":"string"},"version":{"description":"The version the database should use.","type":"string"}},"required":["description","version"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a RedisDatabase.","tags":["Database"]},"get":{"operationId":"database-list-redis-databases","parameters":[{"description":"ID of the Project to list RedisDatabases for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabase"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List RedisDatabases belonging to a Project.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}":{"delete":{"operationId":"database-delete-mysql-database","parameters":[{"description":"ID of the MySQLDatabase to be deleted.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a MySQLDatabase.","tags":["Database"]},"get":{"operationId":"database-get-mysql-database","parameters":[{"description":"ID of the MySQLDatabase to be retrieved.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlDatabase"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MySQLDatabase.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}":{"delete":{"operationId":"database-delete-mysql-user","parameters":[{"description":"ID of the MySQLUser to delete.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a MySQLUser.","tags":["Database"]},"get":{"operationId":"database-get-mysql-user","parameters":[{"description":"ID of the MySQLUser to be retrieved.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlUser"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MySQLUser.","tags":["Database"]},"put":{"operationId":"database-update-mysql-user","parameters":[{"description":"ID of the MySQLUser to update.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accessIpMask":{"type":"string"},"accessLevel":{"enum":["full","readonly"],"type":"string"},"description":{"type":"string"},"externalAccess":{"type":"boolean"}},"required":["description","accessLevel"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLUser.","tags":["Database"]}},"/v2/redis-databases/{redisDatabaseId}":{"delete":{"operationId":"database-delete-redis-database","parameters":[{"description":"ID of the RedisDatabase to delete.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a RedisDatabase.","tags":["Database"]},"get":{"operationId":"database-get-redis-database","parameters":[{"description":"ID of the RedisDatabase to retrieve.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabase"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a RedisDatabase.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/actions/disable":{"post":{"operationId":"database-disable-mysql-user","parameters":[{"description":"ID of the MySQLUser to disable.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable a MySQLUser.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/actions/enable":{"post":{"operationId":"database-enable-mysql-user","parameters":[{"description":"ID of the MySQLUser to enable.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Enable a MySQLUser.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/php-my-admin-url":{"get":{"operationId":"database-get-mysql-user-php-my-admin-url","parameters":[{"description":"ID of the MySQLUser for which to get the URL for.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.database.PhpMyAdminURL"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MySQLUser's PhpMyAdmin-URL.","tags":["Database"]}},"/v2/mysql-charsets":{"get":{"operationId":"database-list-mysql-charsets","parameters":[{"description":"ID of the MySQLVersion for which to list the available character sets in the format `mysqlXY`.","in":"query","name":"version","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlCharacterSettings"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List available MySQL character sets and collations, optionally filtered by a MySQLVersion.","tags":["Database"]}},"/v2/mysql-versions":{"get":{"operationId":"database-list-mysql-versions","parameters":[{"description":"ID of the Project to list available MySQLVersions for.","in":"query","name":"projectId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.MySqlVersion"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MySQLVersions.","tags":["Database"]}},"/v2/redis-versions":{"get":{"operationId":"database-list-redis-versions","parameters":[{"description":"ID of the Project to list available RedisVersions for.","in":"query","name":"projectId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisVersion"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List RedisVersions.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}/default-charset":{"patch":{"operationId":"database-update-mysql-database-default-charset","parameters":[{"description":"ID of the MySQLDatabase to update.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"characterSettings":{"$ref":"#/components/schemas/de.mittwald.v1.database.characterSettings"}},"required":["characterSettings"]}}},"description":"The default character settings to be used for the MySQLDatabase."},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLDatabase's default character settings.","tags":["Database"]}},"/v2/mysql-databases/{mysqlDatabaseId}/description":{"patch":{"operationId":"database-update-mysql-database-description","parameters":[{"description":"ID of the MySQLDatabase to update.","in":"path","name":"mysqlDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLDatabase's description.","tags":["Database"]}},"/v2/mysql-users/{mysqlUserId}/password":{"patch":{"operationId":"database-update-mysql-user-password","parameters":[{"description":"ID of the MySQLUser for which to update the password for.","in":"path","name":"mysqlUserId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MySQLUser's password.","tags":["Database"]}},"/v2/redis-databases/{redisDatabaseId}/configuration":{"patch":{"operationId":"database-update-redis-database-configuration","parameters":[{"description":"ID of the RedisDatabase to update.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"configuration":{"$ref":"#/components/schemas/de.mittwald.v1.database.RedisDatabaseConfiguration"}}}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a RedisDatabase's configuration.","tags":["Database"]}},"/v2/redis-databases/{redisDatabaseId}/description":{"patch":{"operationId":"database-update-redis-database-description","parameters":[{"description":"ID of the RedisDatabase to update.","in":"path","name":"redisDatabaseId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a RedisDatabase's description.","tags":["Database"]}},"/v2/appinstallations/{appInstallationId}/databases":{"put":{"operationId":"deprecated-app-link-database","deprecated":true,"description":"This route is deprecated. Use PATCH /v2/app-installations/{appInstallationId}/database instead.","parameters":[{"in":"path","name":"appInstallationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"databaseId":{"format":"uuid","type":"string"},"databaseUserIds":{"additionalProperties":{"type":"string"},"type":"object"},"purpose":{"enum":["primary","cache","custom"],"type":"string"}},"required":["databaseId","purpose"],"type":"object"}}},"description":"Properties for linking a Database","required":true},"responses":{"204":{"description":"The database has been linked."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create linkage between an AppInstallation and a MySql-Database.","tags":["App"]}},"/v2/domains/{domainId}/screenshots/newest":{"get":{"operationId":"deprecated-domain-get-screenshot-for-domain","deprecated":true,"parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"domainName":{"example":"example.com","type":"string"},"path":{"example":"/var/www","type":"string"}},"required":["domainName","path"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"references":{"items":{"type":"string"},"type":"array"}},"type":"object"}}},"description":"The References."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get File Service Reference for a Screenshot of a domain.","tags":["Domain"]}},"/v2/file-token-rules/{token}":{"get":{"operationId":"deprecated-file-get-file-token-rules","deprecated":true,"description":"Deprecated by `GET /v2/file-upload-tokens/{fileUploadToken}/rules`.","parameters":[{"description":"Token of the Token's upload rules to be retrieved.","in":"path","name":"token","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a Token's upload rules.","tags":["File"]}},"/v2/file-type-rules/{name}":{"get":{"operationId":"deprecated-file-get-file-type-rules","deprecated":true,"description":"Deprecated by `GET /v2/file-upload-types/{fileUploadType}/rules`.","parameters":[{"description":"Name of the Type's upload rules to be retrieved.","in":"path","name":"name","required":true,"schema":{"enum":["avatar","conversation"],"example":"avatar","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a Type's upload rules.","tags":["File"]}},"/v2/customers/{customerId}/invoices/{invoiceId}":{"get":{"operationId":"deprecated-invoice-detail-of-invoice","deprecated":true,"description":"This route is deprecated. Use /v2/invoices/{invoiceId} instead.","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"invoiceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Invoice"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get details of an Invoice.","tags":["Contract"]}},"/v2/newsletter-subscriptions":{"post":{"operationId":"newsletter-subscribe-user","requestBody":{"content":{"application/json":{"schema":{"properties":{"firstName":{"example":"Ada","type":"string"},"lastName":{"example":"Lovelace","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"active":{"example":false,"type":"boolean"},"email":{"example":"a.lovelace@example.com","type":"string"},"registered":{"example":true,"type":"boolean"}},"required":["email","active","registered"],"type":"object"}}},"description":"Subscription information email has been sent."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Subscribe a user to the mStudio newsletter.","tags":["Notification"]}},"/v2/signup/email":{"put":{"operationId":"deprecated-user-change-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The new Email-Address.","example":"ada.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Your email has been added, but needs to be verfied. Check your mails and\ncall /email/verify with the verification code sent with the mail.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailInUse\n * EmailBlacklisted\n * EmailMXInvalid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your Email-Address.","tags":["User"],"deprecated":true}},"/v2/signup/password/reset/confirm":{"post":{"operationId":"deprecated-user-confirm-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"description":"The new password.","type":"string"},"token":{"description":"Password reset token","maxLength":6,"minLength":6,"type":"string"},"userId":{"description":"UserId of the user to reset the password for.","format":"uuid","type":"string"}},"required":["userId","token","password"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Password reset was successful."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongPasswordResetToken\n * EmailAddressNotVerified\n * PasswordIsLeaked\n * ValidationError\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Confirm password reset.","tags":["User"],"deprecated":true}},"/v2/users/self/issues":{"post":{"operationId":"deprecated-user-create-issue","deprecated":true,"description":"Has been merged to POST_create-user-feedback","requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"Detailed report of the issue.","maxLength":5000,"type":"string"},"origin":{"description":"Origin of the issue.","type":"string"},"subject":{"description":"Descriptive subject of the report.","type":"string"},"type":{"description":"Type of feedback.","enum":["feedback","bug"],"type":"string"},"vote":{"description":"Feedback rating from bad to good.","maximum":10,"minimum":0,"type":"number"}},"required":["type","message"],"type":"object"}}},"description":"Submit an issue."},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Issue successfully submitted."},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a new issue.","tags":["User"]}},"/v2/signup/token/api/{apiTokenId}":{"delete":{"operationId":"deprecated-user-delete-api-token","parameters":[{"description":"The uuid of an ApiToken.","in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The `ApiToken` has been deleted."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * ValidationError\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Deletes an ApiToken.","tags":["User"],"deprecated":true},"put":{"operationId":"deprecated-user-edit-api-token","parameters":[{"in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"Api Token for ...","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description"],"type":"object"}}},"required":true},"responses":{"200":{"description":"ApiToken was updated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an existing `ApiToken`.","tags":["User"],"deprecated":true}},"/v2/signup/ssh/{sshKeyId}":{"delete":{"operationId":"deprecated-user-delete-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The ssh-key was removed."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove a ssh-key.","tags":["User"],"deprecated":true},"put":{"operationId":"deprecated-user-edit-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"comment":{"example":"a.lovelace@example.com","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["comment"],"type":"object"}}},"required":true},"responses":{"200":{"description":"The ssh-key has been edited."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Edit a stored ssh-key.","tags":["User"],"deprecated":true}},"/v2/signup/mfa":{"delete":{"operationId":"deprecated-user-disable-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Multi Factor Authentication was disabled."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * MultiFactorCodeNotValid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable Multi Factor Authentication.","tags":["User"],"deprecated":true}},"/v2/signup/password/reset":{"post":{"operationId":"deprecated-user-init-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"Email address to reset the password for.","example":"a.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"description":"The password reset process has been initialized and an email with confirmation code has been sent.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Initialize password reset process.","tags":["User"],"deprecated":true}},"/v2/signup/logout":{"put":{"operationId":"deprecated-user-logout","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"description":"You've been logged out. The access token has been removed and invalidated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate session and invalidate access token.","tags":["User"],"deprecated":true}},"/v2/signup/email/resend":{"post":{"operationId":"deprecated-user-resend-verification-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"example":"ada.lovelace@example.com","format":"email","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"204":{"description":"New Email-Address verification mail was sent."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Resend the Email-Address verification email.","tags":["User"],"deprecated":true}},"/v2/user/{userId}/avatar":{"delete":{"operationId":"deprecated-user-service-avatar-remove","deprecated":true,"description":"Use users-remove-avatar-v2 instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Avatar removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove Avatar","tags":["User"]},"post":{"operationId":"deprecated-user-service-avatar-request-upload","deprecated":true,"description":"Use POST_request-avatar-upload instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"properties":{"maxSizeInKB":{"type":"integer"},"mimeTypes":{"items":{"type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"}},"required":["refId","rules"],"type":"object"}}},"description":"Avatar upload request was successful. Use the `refId` to upload your avatar to the /v2/files/:refId"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a new avatar upload","tags":["User"]}},"/v2/user/feedback":{"post":{"operationId":"deprecated-user-service-feedback-create","deprecated":true,"description":"Use POST_create-user-feedback instead","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"maxLength":5000,"type":"string"},"origin":{"maxLength":1000,"type":"string"},"subject":{"maxLength":100,"minLength":1,"type":"string"},"vote":{"maximum":10,"minimum":0,"type":"number"}},"required":["origin","subject","vote"],"type":"object"}}},"description":"The user feedback"},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":""},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Submit user feedback","tags":["User"]},"get":{"operationId":"deprecated-user-service-feedback-list","deprecated":true,"description":"Use GET_list-user-feedback instead","parameters":[{"in":"query","name":"subject","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.user.UserFeedback"},"type":"array"}}},"description":"A list of feedback submitted by the user"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Returns your submitted feedback","tags":["User"]}},"/v2/user/issues":{"post":{"operationId":"deprecated-user-service-issue-new","deprecated":true,"description":"Has been merged to POST_create-user-feedback","requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"maxLength":1000000,"type":"string"},"origin":{"type":"string"},"subject":{"type":"string"},"type":{"enum":["feedback","bug"],"type":"string"}},"required":["type","message"],"type":"object"}}},"description":"Submit an issue."},"responses":{"201":{"description":"Issue created"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"create a new issue","tags":["User"]}},"/v2/user/{userId}":{"put":{"operationId":"deprecated-user-service-personal-information-update","deprecated":true,"description":"Use PUT_update-personal-information instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Your personal information has been changed"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your personal information","tags":["User"]},"get":{"operationId":"deprecated-user-service-user-get","deprecated":true,"description":"Use GET_get-user instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.user.User"}}},"description":"The Profile"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get profile information for the specified user if the user is related to the executing user","tags":["User"]}},"/v2/user/settings":{"get":{"operationId":"deprecated-user-service-personalized-settings-get","deprecated":true,"description":"Use GET-personalized-settings instead","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"type":"string"}},"type":"object"}}},"description":"The settingsString"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get personalized settings for the user executing the request","tags":["User"]},"put":{"operationId":"deprecated-user-service-personalized-settings-update","deprecated":true,"description":"Use PUT_update-personalized-settings instead","requestBody":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"type":"string"}},"required":["settingsString"],"type":"object"}}},"required":true},"responses":{"204":{"description":"PersonalSettings have been updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"update personalized settings","tags":["User"]}},"/v2/user/{userId}/phone":{"post":{"operationId":"deprecated-user-service-phone-number-add","deprecated":true,"description":"Use POST_add-phone-number instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"phoneNumber":{"type":"string"}},"required":["phoneNumber"],"type":"object"}}},"required":true},"responses":{"204":{"description":"PhoneNumber was added successfully. Now, it can be verified under /v2/user/{userId}/phone/verify"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Add phone number and init verification process","tags":["User"]},"delete":{"operationId":"deprecated-user-service-phone-number-remove","deprecated":true,"description":"Use DELETE_remove-phone-number instead","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"PhoneNumber removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"remove your PhoneNumber","tags":["User"]}},"/v2/user/{userId}/phone/verify":{"post":{"operationId":"deprecated-user-service-phone-number-verify","deprecated":true,"description":"Use POST_verify-phone-number instead","parameters":[{"in":"path","name":"userId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"example":"123456","type":"string"},"phoneNumber":{"example":"+491701234567","type":"string"}},"required":["phoneNumber","code"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The PhoneNumber has been verified"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify phone number","tags":["User"]}},"/v2/user":{"get":{"operationId":"deprecated-user-service-user-get-own","deprecated":true,"description":"Use GET_get-user instead","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.user.User"}}},"description":"The Profile"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get profile information for the executing user","tags":["User"]}},"/v2/signup/sessions":{"delete":{"operationId":"deprecated-user-terminate-all-sessions","responses":{"200":{"description":"All sessions terminated."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate all sessions, except the current session.","tags":["User"],"deprecated":true}},"/v2/signup/sessions/{tokenId}":{"delete":{"operationId":"deprecated-user-terminate-session","parameters":[{"description":"TokenId to identify the concrete session.","in":"path","name":"tokenId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Session terminated."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate a specific Session.","tags":["User"],"deprecated":true}},"/v2/signup/profile":{"put":{"operationId":"deprecated-user-update-account","requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Account has been updated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update your account information.","tags":["User"],"deprecated":true}},"/v2/signup/email/verify":{"post":{"operationId":"deprecated-user-verify-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The Email-Address to verify.","example":"ada.lovelace@example.com","format":"email","type":"string"},"token":{"description":"The token found in the verification email.","example":"123456","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Email has been verified."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongVerificationToken\n * EmailNotFound\n * WrongVerificationToken\n * EmailAddressAlreadyVerified\n"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify an added Email-Address.","tags":["User"],"deprecated":true}},"/v2/dns-zones":{"post":{"operationId":"dns-create-dns-zone","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"format":"idn-dnsname","type":"string"},"parentZoneId":{"format":"uuid","type":"string"}},"required":["name","parentZoneId"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"The ID of the created DNSZone."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a DNSZone.","tags":["Domain"]}},"/v2/dns-zones/{dnsZoneId}":{"delete":{"operationId":"dns-delete-dns-zone","parameters":[{"description":"The ID of the DNSZone to be deleted.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a DNSZone.","tags":["Domain"]},"get":{"operationId":"dns-get-dns-zone","parameters":[{"description":"The ID of the zone to be retrieved.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.dns.Zone"}}},"description":"The requested DNSZone."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a DNSZone.","tags":["Domain"]}},"/v2/projects/{projectId}/dns-zones":{"get":{"operationId":"dns-list-dns-zones","parameters":[{"description":"ID of the Project to list DNSZones for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.dns.Zone"},"type":"array"}}},"description":"An array of DNSZone objects."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List DNSZones belonging to a Project.","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/acombined/custom":{"put":{"operationId":"dns-record-a-set-custom-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedACustom"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates a-records for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/acombined/managed/ingress":{"post":{"operationId":"dns-record-a-set-managed-by-ingress-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone you want to set managed","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{},"type":"object"}}}},"responses":{"204":{"content":{"application/json":{"schema":{"properties":{"ingressId":{"format":"uuid","type":"string"}},"required":["ingressId"],"type":"object"}}},"description":"zone set managed by ingressId"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"set a-records managed by ingress for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/cname":{"put":{"operationId":"dns-record-cname-set-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAMEComponent"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates cname-record for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/mx/custom":{"put":{"operationId":"dns-record-mx-set-custom-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXCustom"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates mx-records for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/mx/managed":{"post":{"operationId":"dns-record-mx-set-managed-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object"}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"sets mx-records to managed for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/srv":{"put":{"operationId":"dns-record-srv-set-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVComponent"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates srv-records for a specific zone","tags":["Domain"]}},"/v2/dns/zones/{zoneId}/recordset/txt":{"put":{"operationId":"dns-record-txt-set-deprecated","deprecated":true,"parameters":[{"description":"the id of the zone the record belongs to","in":"path","name":"zoneId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXTComponent"}]}}}},"responses":{"204":{"description":"recordset updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"updates txt-records for a specific zone","tags":["Domain"]}},"/v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}/actions/set-managed":{"post":{"operationId":"dns-set-record-set-managed","parameters":[{"description":"The ID of the DNSZone to set a record set to managed for.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The record set to set to managed.","in":"path","name":"recordSet","required":true,"schema":{"enum":["a","mx"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{},"type":"object"}}}},"responses":{"204":{"content":{"application/json":{"schema":{"properties":{"ingressId":{"format":"uuid","type":"string"}},"type":"object"}}},"description":"The ID of the Ingress the a-records were set for, or an empty object if mx-records were set."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Set a record set on a DNSZone to managed.","tags":["Domain"]}},"/v2/dns-zones/{dnsZoneId}/record-sets/{recordSet}":{"put":{"operationId":"dns-update-record-set","parameters":[{"description":"The ID of the DNSZone to update a record set for.","in":"path","name":"dnsZoneId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The record set to be updated.","in":"path","name":"recordSet","required":true,"schema":{"enum":["a","mx","txt","srv","cname"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordUnset"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.CombinedACustom"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordMXCustom"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordTXTComponent"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordSRVComponent"},{"$ref":"#/components/schemas/de.mittwald.v1.dns.RecordCNAMEComponent"}]}}}},"responses":{"204":{"description":"Record set updated."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a record set on a DNSZone.","tags":["Domain"]}},"/v2/domains/{domainId}/declaration":{"delete":{"operationId":"domain-abort-domain-declaration","description":"Abort an incomplete Domain registration/transfer.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Abort a Domain declaration.","tags":["Domain"]}},"/v2/domains/{domainId}/handles/ownerc":{"put":{"operationId":"domain-change-ownerc-of-domain-v2-deprecated","deprecated":true,"description":"Change the domain owner of a fully registered domain.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"minItems":1,"type":"array"}},"required":["ownerC"]}}},"description":"The new handle fields for the new owner."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change the owner contact of a domain.","tags":["Domain"]}},"/v2/domains/{domainId}/projectId":{"put":{"operationId":"domain-change-project-of-domain-v2-deprecated","deprecated":true,"parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"projectId":{"format":"uuid","type":"string"}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change the Project relation of a Domain.","tags":["Domain"]}},"/v2/domain-registrable":{"post":{"operationId":"domain-check-domain-registrability","description":"If false, you have to start a transfer with an auth code instead.","requestBody":{"content":{"application/json":{"schema":{"properties":{"domain":{"format":"naked-domain","type":"string"}},"required":["domain"]}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"isPremium":{"type":"boolean"},"registrable":{"type":"boolean"}},"required":["registrable","isPremium"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if a Domain is available to register.","tags":["Domain"]}},"/v2/domains":{"post":{"operationId":"domain-check-domain-registrability-v2-deprecated","deprecated":true,"description":"If false, you have to start a transfer with an auth code instead.","requestBody":{"content":{"application/json":{"schema":{"properties":{"domain":{"format":"naked-domain","type":"string"}},"required":["domain"]}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"available":{"type":"boolean"}},"required":["available"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if a Domain is available to register.","tags":["Domain"]},"get":{"operationId":"domain-list-domains","parameters":[{"in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Search for domain names in this list. Input will be handled like '%YourInput%'.","in":"query","name":"domainSearchName","required":false,"schema":{"type":"string"}},{"description":"Search for domain contact hash.","in":"query","name":"contactHash","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Domain"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Domains","tags":["Domain"]}},"/v2/domain-transferable":{"post":{"operationId":"domain-check-domain-transferability","requestBody":{"content":{"application/json":{"schema":{"properties":{"authCode":{"type":"string"},"domain":{"format":"naked-domain","type":"string"}},"required":["domain"]}}}},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.TransferabilityResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if a Domain is available to transfer.","tags":["Domain"]}},"/v2/domains/{domainId}/actions/auth-code":{"post":{"operationId":"domain-create-domain-auth-code","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"authCode":{"type":"string"}},"required":["authCode"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an auth code for a Domains transfer-out process.","tags":["Domain"]}},"/v2/domains/{domainId}/nameservers":{"put":{"operationId":"domain-declare-nameservers-v2-deprecated","deprecated":true,"parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"nameservers":{"items":{"format":"idn-hostname","type":"string"},"minItems":2,"type":"array","uniqueItems":true}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change all nameservers of a Domain.","tags":["Domain"]},"patch":{"operationId":"domain-update-domain-nameservers","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"nameservers":{"items":{"format":"idn-hostname","type":"string"},"minItems":2,"type":"array","uniqueItems":true}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the nameservers of a Domain.","tags":["Domain"]}},"/v2/domains/{domainId}/declarations/authcode":{"put":{"operationId":"domain-declare-process-change-authcode-v2-deprecated","deprecated":true,"description":"Change a wrong AuthCode of your transfer domain request (declare domain process). This route will also restart the transfer itself.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"authCode":{"minLength":4,"type":"string"}},"required":["authCode"]}}},"description":"The new handle fields for the new owner."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an AuthCode.","tags":["Domain"]}},"/v2/domains/{domainId}/declarations/handles":{"put":{"operationId":"domain-declare-process-change-handles-v2-deprecated","deprecated":true,"description":"This route will also restart the transfer or register itself.","parameters":[{"description":"The domain id from which the ownerC is to be changed","in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"ownerC":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"minItems":1,"type":"array"}},"required":["ownerC"]}}},"description":"The new handle fields for the new owner."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Domain's OwnerC handle.","tags":["Domain"]}},"/v2/domains/{domainId}":{"delete":{"operationId":"domain-delete-domain","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"transit","schema":{"description":"Only for .de Domains.","type":"boolean"}}],"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Domain.","tags":["Domain"]},"get":{"operationId":"domain-get-domain","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Domain"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Domain.","tags":["Domain"]}},"/v2/domains/handle-schema/{domainName}":{"get":{"operationId":"domain-get-handle-fields-v2-deprecated","deprecated":true,"description":"Get required handle fields of a registrar for your domain process (transfer/registration).","parameters":[{"description":"The whole domain name","in":"path","name":"domainName","required":true,"schema":{"format":"naked-domain","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"jsonSchemaAdminC":{"type":"object"},"jsonSchemaOwnerC":{"type":"object"}},"required":["jsonSchemaOwnerC"],"type":"object"}}},"description":"The parseable json schema objects"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get a HandleSchema.","tags":["Domain"]}},"/v2/domains/{domainId}/latest-screenshot":{"get":{"operationId":"domain-get-latest-screenshot","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"domainName":{"example":"example.com","type":"string"},"path":{"example":"/var/www","type":"string"}},"required":["domainName","path"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"reference":{"type":"string"}},"type":"object"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the latest screenshot's FileReference belonging to a Domain.","tags":["Domain"]}},"/v2/projects/{projectId}/domains":{"get":{"operationId":"domain-list-domains-v2-deprecated","deprecated":true,"parameters":[{"in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Search for domain names in these list. Input will be handled like '%YourInput%'","in":"query","name":"domainSearchName","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.Domain"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Domains belonging to a Project.","tags":["Domain"]}},"/v2/domain-tlds/{tld}/contact-schemas":{"get":{"operationId":"domain-list-tld-contact-schemas","description":"List the contact schemas describing the fields required to register/transfer a Domain.","parameters":[{"description":"The top level domain to retrieve the schemas for.","example":{"value":"de"},"in":"path","name":"tld","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"jsonSchemaAdminC":{"type":"object"},"jsonSchemaOwnerC":{"type":"object"}},"required":["jsonSchemaOwnerC"],"type":"object"}}},"description":"The JSON-Schema objects."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List the contact schemas for a TLD.","tags":["Domain"]}},"/v2/domain-tlds":{"get":{"operationId":"domain-list-tlds","description":"List the top level domains currently supported by our API.","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.TopLevel"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List TLDs.","tags":["Domain"]}},"/v2/domains/{domainId}/actions/resend-email":{"post":{"operationId":"domain-resend-domain-email","description":"Trigger a resend of a confirmation or registrant verification email. Has no effect on .de Domains.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Resend a Domain email.","tags":["Domain"]}},"/v2/domain-suggestions":{"get":{"operationId":"domain-suggest","parameters":[{"in":"query","name":"prompt","required":true,"schema":{"maxLength":500,"type":"string"}},{"in":"query","name":"domainCount","required":false,"schema":{"default":6,"maximum":30,"minimum":1,"type":"integer"}},{"in":"query","name":"tlds","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.domain.SuggestedDomains"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Suggest a list of domains based on a prompt using AI.","tags":["Domain"]}},"/v2/domains/{domainId}/auth-code":{"patch":{"operationId":"domain-update-domain-auth-code","description":"Update an incorrect auth code of an ongoing/failed Domain transfer. This route will also restart the transfer itself.","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"authCode":{"minLength":4,"type":"string"}},"required":["authCode"]}}}},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the auth code of a Domain.","tags":["Domain"]}},"/v2/domains/{domainId}/contacts/{contact}":{"patch":{"operationId":"domain-update-domain-contact","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"contact","required":true,"schema":{"enum":["owner"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"contact":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.domain.HandleField"},"minItems":1,"type":"array"}},"required":["contact"]}}},"description":"The new contact data of the Domain."},"responses":{"200":{"$ref":"#/components/responses/de.mittwald.v1.domain.SuccessResponse"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a contact of a Domain.","tags":["Domain"]}},"/v2/domains/{domainId}/project-id":{"patch":{"operationId":"domain-update-domain-project-id","parameters":[{"in":"path","name":"domainId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"projectId":{"format":"uuid","type":"string"}}}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Domain's project id.","tags":["Domain"]}},"/v2/extension-instances/{extensionInstanceId}/tokens":{"post":{"operationId":"extension-authenticate-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"extensionInstanceSecret":{"description":"The latest secret an external application received via lifecycle webhooks.\nNamely ExtensionAddedToContext and ExtensionInstanceSecretRotated.\n","type":"string"}},"required":["extensionInstanceSecret"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"expiry":{"format":"date-time","type":"string"},"publicToken":{"description":"Set this in the 'x-access-token' header when performing domain actions.","type":"string"}},"required":["publicToken","expiry"],"type":"object"}}},"description":"You received a public token with a short expiry. You can now perform domain actions."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Authenticate your external application using the extensionInstanceSecret.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/scopes":{"patch":{"operationId":"extension-consent-to-extension-scopes","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"consentedScopes":{"items":{"type":"string"},"type":"array"}},"required":["consentedScopes"],"type":"object"}}},"required":true},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Consent to extension scopes.","tags":["Marketplace"]}},"/v2/extension-instances":{"post":{"operationId":"extension-create-extension-instance","requestBody":{"content":{"application/json":{"schema":{"properties":{"consentedScopes":{"items":{"type":"string"},"type":"array"},"context":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"},"contextId":{"format":"uuid","type":"string"},"extensionId":{"format":"uuid","type":"string"}},"required":["extensionId","consentedScopes","context","contextId"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"]}}},"description":"The ExtensionInstance ID."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an ExtensionInstance.","tags":["Marketplace"]},"get":{"operationId":"extension-list-extension-instances","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":1000,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"type":"integer"}},{"in":"query","name":"context","required":true,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"}},{"description":"The ID of your customer, project or user.","in":"query","name":"contextId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExtensionInstance"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List ExtensionInstances.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/actions/create-access-token-retrieval-key":{"post":{"operationId":"extension-create-retrieval-key","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"accessTokenRetrievalKey":{"type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["accessTokenRetrievalKey","userId"],"type":"object"}}},"description":"An access token retrieval key. This key can be used to retrieve a scoped access token from an external application."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an access token retrieval key for an extension instance.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}":{"delete":{"operationId":"extension-delete-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an ExtensionInstance.","tags":["Marketplace"]},"get":{"operationId":"extension-get-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.ExtensionInstance"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an ExtensionInstance.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/actions/disable":{"post":{"operationId":"extension-disable-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable an ExtensionInstance.","tags":["Marketplace"]}},"/v2/contributors/{contributorId}/extensions/{extensionId}/extension-instances/{extensionInstanceId}/actions/dry-run/{webhookKind}":{"post":{"operationId":"extension-dry-run-webhook","parameters":[{"in":"path","name":"contributorId","required":true,"schema":{"type":"string"}},{"in":"path","name":"extensionId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The ID of an extension instance. For this route it can be made up.","in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"webhookKind","required":true,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.WebhookKind"}},{"description":"Define the contextId. If left empty, the contextId will be random.","in":"query","name":"contextId","required":false,"schema":{"type":"string"}},{"description":"Define the scopes. If left empty, the scopes will be those defined in the extension.","in":"query","name":"scopes","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Define the `disabled` state of the extension instance. If left empty, the it will be random.","in":"query","name":"instanceDisabled","required":false,"schema":{"type":"boolean"}},{"description":"Define the creation timestamp of the extension instance. If left empty, the it will be random.","in":"query","name":"createdAt","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Define the secret of the extension instance. If left empty, the it will be random. This secret will not be able to be used.","in":"query","name":"secret","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"errorMessage":{"description":"The error message of an internal error.","example":"The url httpsecurity is not a valid protocol","type":"string"},"responseBody":{"type":"string"},"responseCode":{"description":"The http status code that the external application responded with.","example":200,"type":"number"},"responseHeaders":{"type":"string"},"routeCalled":{"example":"https://example.com/extension/e1a9370f-cc3c-42b9-98b4-8e3ac54c9710/instance/f567441d-2429-48fd-8fe9-6c5dc18722d8/add?dry-run=true","type":"string"},"successful":{"description":"This shows if the response of the external application has been accepted as successful.","example":true,"type":"boolean"}},"required":["successful","routeCalled"],"type":"object"}}},"description":"The webhook has been run successfully."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Dry run a webhook with random or given values.","tags":["Marketplace"]}},"/v2/extension-instances/{extensionInstanceId}/actions/enable":{"post":{"operationId":"extension-enable-extension-instance","parameters":[{"in":"path","name":"extensionInstanceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Enable an ExtensionInstance.","tags":["Marketplace"]}},"/v2/contributors/{contributorId}":{"get":{"operationId":"extension-get-contributor","parameters":[{"in":"path","name":"contributorId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Contributor"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get a Contributor.","tags":["Marketplace"]}},"/v2/extensions/{extensionId}":{"get":{"operationId":"extension-get-extension","parameters":[{"in":"path","name":"extensionId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Extension"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get an Extension.","tags":["Marketplace"]}},"/v2/webhook-public-keys/{serial}":{"get":{"operationId":"extension-get-public-key","parameters":[{"description":"The serial id of a specific public key. Use `latest` to get the latest public key.","in":"path","name":"serial","required":true,"schema":{"example":"latest","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.PublicKey"}}},"description":"Use this public key to verify the webhook signature on your end."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Get the public key to verify the webhook signature.","tags":["Marketplace"]}},"/v2/contributors":{"get":{"operationId":"extension-list-contributors","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":1000,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Contributor"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List Contributors.","tags":["Marketplace"]}},"/v2/extensions":{"get":{"operationId":"extension-list-extensions","parameters":[{"in":"query","name":"context","required":false,"schema":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Context"}},{"in":"query","name":"limit","required":false,"schema":{"default":1000,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.marketplace.Extension"},"type":"array"}}},"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"List Extensions.","tags":["Marketplace"]}},"/v2/files":{"post":{"operationId":"file-create-file","parameters":[{"in":"header","name":"Token","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"properties":{"file":{"example":"binary","format":"binary","type":"string"}},"required":["file"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileMeta"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"406":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Create a File.","tags":["File"]}},"/v2/files/{fileId}/meta":{"get":{"operationId":"file-get-file-meta","parameters":[{"description":"ID of the File to get the meta for.","in":"path","name":"fileId","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}},{"description":"Only needed for protected Files.","in":"header","name":"Token","required":false,"schema":{"example":"jwt","type":"string"}},{"description":"Only needed for protected Files.","in":"query","name":"token","required":false,"schema":{"example":"jwt","type":"string"},"x-go-name":"QueryParameterToken"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileMeta"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a File's meta.","tags":["File"]}},"/v2/file-upload-tokens/{fileUploadToken}/rules":{"get":{"operationId":"file-get-file-upload-token-rules","parameters":[{"description":"FileUploadToken to retrieve rules for.","in":"path","name":"fileUploadToken","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a FileUploadToken's rules.","tags":["File"]}},"/v2/file-upload-types/{fileUploadType}/rules":{"get":{"operationId":"file-get-file-upload-type-rules","parameters":[{"description":"FileUploadType to retrieve rules for.","in":"path","name":"fileUploadType","required":true,"schema":{"enum":["avatar","conversation"],"example":"avatar","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.file.FileUploadRules"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a FileUploadType's rules.","tags":["File"]}},"/v2/files/{fileId}":{"get":{"operationId":"file-get-file","parameters":[{"description":"ID of the File to be retrieved.","in":"path","name":"fileId","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}},{"in":"header","name":"Accept","schema":{"default":"application/octet-stream","enum":["application/octet-stream","text/plain;base64"],"example":"application/octet-stream","type":"string"}},{"in":"header","name":"Content-Disposition","schema":{"default":"inline","enum":["inline","attachment"],"example":"inline","type":"string"}},{"description":"Only needed for protected Files.","in":"header","name":"Token","required":false,"schema":{"example":"jwt","type":"string"}},{"description":"Only needed for protected Files.","in":"query","name":"token","required":false,"schema":{"example":"jwt","type":"string"},"x-go-name":"QueryParameterToken"}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"type":"string"}},"text/plain;base64":{"schema":{"type":"string"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a File.","tags":["File"]}},"/v2/files/{fileId}/{fileName}":{"get":{"operationId":"file-get-file-with-name","parameters":[{"description":"ID of the File to be retrieved.","in":"path","name":"fileId","required":true,"schema":{"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","format":"uuid","type":"string"}},{"description":"Name of the File to be retrieved.","in":"path","name":"fileName","required":true,"schema":{"example":"me.jpeg","type":"string"}},{"in":"header","name":"Accept","schema":{"default":"application/octet-stream","enum":["application/octet-stream","text/plain;base64"],"example":"application/octet-stream","type":"string"}},{"in":"header","name":"Content-Disposition","schema":{"default":"inline","enum":["inline","attachment"],"example":"inline","type":"string"}},{"description":"Only needed for protected Files.","in":"header","name":"Token","required":false,"schema":{"example":"jwt","type":"string"}},{"description":"Only needed for protected Files.","in":"query","name":"token","required":false,"schema":{"example":"jwt","type":"string"},"x-go-name":"QueryParameterToken"}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"type":"string"}},"text/plain;base64":{"schema":{"type":"string"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"422":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get a File with user-friendly url.","tags":["File"]}},"/v2/ingresses":{"post":{"operationId":"ingress-create-ingress","requestBody":{"content":{"application/json":{"schema":{"properties":{"hostname":{"format":"idn-hostname","type":"string"},"paths":{"description":"A list of paths. The default path `/` is always present and cannot be removed.","items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"},"projectId":{"format":"uuid","type":"string"}},"required":["hostname","projectId","paths"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"},"ownership":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ownership"}},"required":["id","ownership"],"type":"object"}}},"description":"Created"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an Ingress.","tags":["Domain"]},"get":{"operationId":"ingress-list-ingresses","parameters":[{"description":"ID of the Project to list Ingresses for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Certificate to list Ingresses for.","in":"query","name":"certificateId","required":false,"schema":{"format":"uuid","type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ingress"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Ingresses.","tags":["Domain"]}},"/v2/ingresses/{ingressId}":{"delete":{"operationId":"ingress-delete-ingress","parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an Ingress.","tags":["Domain"]},"get":{"operationId":"ingress-get-ingress","parameters":[{"description":"ID of the Ingress to be retrieved.","in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ingress"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an Ingress.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/actions/verify-ownership":{"post":{"operationId":"ingress-ingress-verify-ownership","parameters":[{"description":"UUID of the Ingress to verify the ownership for.","in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verifiy the ownership of an Ingress.","tags":["Domain"]}},"/v2/actions/list-ingresses-compatible-with-certificate":{"post":{"operationId":"ingress-list-ingresses-compatible-with-certificate","description":"List Ingresses in a Project compatible with a certificate.","requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"description":"PEM-encoded certificate. Linebreaks have to be escaped with \n.","type":"string"},"projectId":{"description":"The projects UUID.","format":"uuid","type":"string"}},"required":["projectId","certificate"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Ingress"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Ingresses compatible with a certificate.","tags":["Domain"]}},"/v2/projects/{projectId}/ingresses":{"get":{"operationId":"ingress-list-ingresses-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the Project to list Ingresses for","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.IngressDeprecated"},"type":"array"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Ingresses belonging to a project.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/paths":{"put":{"operationId":"ingress-paths-deprecated","deprecated":true,"parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"}}}},"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an Ingresses paths.","tags":["Domain"]},"patch":{"operationId":"ingress-update-ingress-paths","parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ingress.Path"},"type":"array"}}}},"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the paths of an Ingress.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/actions/request-acme-certificate-issuance":{"post":{"operationId":"ingress-request-ingress-acme-certificate-issuance","parameters":[{"description":"UUID of the Ingress to request the issuance for.","in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request the ACME certificate issuance of an Ingress.","tags":["Domain"]}},"/v2/ingresses/{ingressId}/tls":{"put":{"operationId":"ingress-tls-deprecated","deprecated":true,"parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsAcme"},{"$ref":"#/components/schemas/de.mittwald.v1.ingress.TlsCertificate"}]}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an Ingresses tls settings.","tags":["Domain"]},"patch":{"operationId":"ingress-update-ingress-tls","parameters":[{"in":"path","name":"ingressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"acme":{"type":"boolean"},"isCreated":{"deprecated":true,"description":"Was added by mistake. Never did anything.","type":"boolean"},"requestDeadline":{"deprecated":true,"description":"Was added by mistake. Never did anything.","format":"date-time","type":"string"}},"required":["acme"],"type":"object"},{"additionalProperties":false,"properties":{"certificateId":{"format":"uuid","type":"string"}},"required":["certificateId"],"type":"object"}]}}},"description":""},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the tls settings of an Ingress.","tags":["Domain"]}},"/v2/invoices/{invoiceId}":{"get":{"operationId":"invoice-detail","parameters":[{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"invoiceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Invoice"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get details of an Invoice.","tags":["Contract"]}},"/v2/customers/{customerId}/invoice-settings":{"get":{"operationId":"invoice-get-detail-of-invoice-settings","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceSettings"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get InvoiceSettings of a Customer.","tags":["Contract"]},"put":{"operationId":"invoice-update-invoice-settings","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"additionalEmailRecipients":{"example":["hallo@test.de"],"items":{"format":"email","type":"string"},"type":"array"},"invoicePeriod":{"example":1,"minimum":0,"type":"integer"},"paymentSettings":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.PaymentSettings"},"printedInvoices":{"type":"boolean"},"recipient":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Recipient"},"recipientSameAsOwner":{"type":"boolean"},"targetDay":{"example":15,"maximum":28,"minimum":0,"type":"integer"}},"required":["invoicePeriod","paymentSettings"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.InvoiceSettings"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update InvoiceSettings of a Customer.","tags":["Contract"]}},"/v2/customers/{customerId}/invoices/{invoiceId}/file-access-token":{"get":{"operationId":"invoice-get-file-access-token","parameters":[{"example":"edefeee4-e8e9-4e2d-ab95-9a2eb6104cfb","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"invoiceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"accessToken":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["accessToken","expiresAt"],"type":"object"}}},"description":"The File Access Token required to access the Invoice file."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request an Access Token for the Invoice file.","tags":["Contract"]}},"/v2/customers/{customerId}/invoices":{"get":{"operationId":"invoice-list-customer-invoices","parameters":[{"example":"ac3c8bbe-4c44-4f34-b6c7-1e6af48c3a7c","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":["REGULAR","CORRECTION"],"in":"query","name":"invoiceTypes","required":false,"schema":{"items":{"enum":["REGULAR","REISSUE","CORRECTION","CANCELLATION"],"type":"string"},"type":"array"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":1000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.invoice.Invoice"},"type":"array"}}},"description":"","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Invoices of a Customer.","tags":["Contract"]}},"/v2/projects/{projectId}/delivery-boxes":{"post":{"operationId":"mail-create-deliverybox","parameters":[{"description":"ID of the Project to create the DeliveryBox in.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"},"password":{"type":"string"}},"required":["description","password"],"type":"object"}}},"description":"DeliveryBox"},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a DeliveryBox.","tags":["Mail"]},"get":{"operationId":"mail-list-delivery-boxes","parameters":[{"description":"ID of the Project to list DeliveryBoxes for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"Search term to look for in DeliveryBoxes name and description.","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mail.Deliverybox"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List DeliveryBoxes belonging to a Project.","tags":["Mail"]}},"/v2/projects/{projectId}/mail-addresses":{"post":{"operationId":"mail-create-mail-address","parameters":[{"description":"ID of the project to create a MailAddress for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.mail.CreateForwardAddress"},{"$ref":"#/components/schemas/de.mittwald.v1.mail.CreateMailAddress"}]}}}},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a MailAddress.","tags":["Mail"]},"get":{"operationId":"mail-list-mail-addresses","parameters":[{"description":"ID of the Project to list MailAddresses for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"Search term to look for in MailAddresses mail address or mailbox name.","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mail.MailAddress"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List MailAddresses belonging to a Project.","tags":["Mail"]}},"/v2/delivery-boxes/{deliveryBoxId}":{"delete":{"operationId":"mail-delete-delivery-box","parameters":[{"description":"ID of the DeliveryBox to be deleted.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a DeliveryBox.","tags":["Mail"]},"get":{"operationId":"mail-get-delivery-box","parameters":[{"description":"ID of the DeliveryBox to be retrieved.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mail.Deliverybox"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a DeliveryBox.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}":{"delete":{"operationId":"mail-delete-mail-address","parameters":[{"description":"ID of the MailAddress to be deleted.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a MailAddress.","tags":["Mail"]},"get":{"operationId":"mail-get-mail-address","parameters":[{"description":"ID of the MailAddress to be retrieved.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mail.MailAddress"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a MailAddress.","tags":["Mail"]}},"/v2/deliveryboxes/{id}/description":{"put":{"operationId":"mail-deliverybox-update-description-deprecated","deprecated":true,"parameters":[{"description":"ID of the deliverybox","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}},"description":"Description of the deliverybox"},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A deliverybox with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the description of an deliverybox","tags":["Mail"]}},"/v2/deliveryboxes/{id}/password":{"put":{"operationId":"mail-deliverybox-update-password-deprecated","deprecated":true,"parameters":[{"description":"ID of the deliverybox","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A deliverybox with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password for a specific deliverybox","tags":["Mail"]}},"/v2/projects/{projectId}/mail-settings":{"get":{"operationId":"mail-list-project-mail-settings","parameters":[{"description":"ID of the Project to list mail settings for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"},"projectId":{"type":"string"},"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["projectId","blacklist","whitelist"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List mail settings of a Project.","tags":["Mail"]}},"/v2/mailaddresses/{id}/address":{"put":{"operationId":"mail-mailaddress-update-address-deprecated","deprecated":true,"parameters":[{"description":"ID of the mail address","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"format":"idn-email","type":"string"}},"required":["address"]}}},"description":"set mail-address"},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A mailaddress with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update mail-address","tags":["Mail"]}},"/v2/mail-migrations/actions/possibility-check":{"post":{"operationId":"mail-migration-check-migration-is-possible","requestBody":{"content":{"application/json":{"schema":{"properties":{"sourceLegacyProjectId":{"type":"string"},"targetProjectId":{"format":"uuid","type":"string"}},"required":["sourceLegacyProjectId","targetProjectId"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.CheckMigrationIsPossibleErrorResponse"}}},"description":"Ok"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[],"de.mittwald.v1.commons.LegacyBearerAuthentication":[]}],"summary":"Check if a Migration between two projects is possible.","tags":["Mail"]}},"/v2/mail-migrations/{migrationId}":{"get":{"operationId":"mail-migration-get-migration","parameters":[{"description":"The ID of the Migration to be retrieved.","in":"path","name":"migrationId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Migration"}}},"description":"The requested Migration."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Migration.","tags":["Mail"]}},"/v2/mail-migrations":{"get":{"operationId":"mail-migration-list-migrations","description":"In case you want to list the Migrations for a p-Account you will have to use `commons.LegacyBearerAuthentication` and `commons.AccessToken` for authentication.\nIf you want to list the Migrations for a mStudio-project you will have to use `commons.AccessToken` for authentication.\n","parameters":[{"description":"Name of the pAccount in customer center to list Migrations for.","in":"query","name":"pAccountName","required":false,"schema":{"pattern":"^p[1-9]+$","type":"string"}},{"description":"ID of the mStudio-Project to list Migrations for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.mailmigration.Migration"},"type":"array"}}},"description":"An array of Migration objects."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]},{"de.mittwald.v1.commons.LegacyBearerAuthentication":[]}],"summary":"List Migrations belonging to a Project in customer center or mStudio.","tags":["Mail"]}},"/v2/mail-migrations/actions/request":{"post":{"operationId":"mail-migration-request-mail-migration","requestBody":{"content":{"application/json":{"schema":{"properties":{"sourceLegacyProjectId":{"type":"string"},"targetProjectId":{"format":"uuid","type":"string"}},"required":["sourceLegacyProjectId","targetProjectId"],"type":"object"}}}},"responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[],"de.mittwald.v1.commons.LegacyBearerAuthentication":[]}],"summary":"Request a Mail Migration between two projects.","tags":["Mail"]}},"/v2/projects/{projectId}/mailsettings/blacklist":{"put":{"operationId":"mail-projectsetting-update-blacklist-deprecated","deprecated":true,"parameters":[{"description":"ID of the project you want to update blacklist for","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["blacklist"],"type":"object"}}}},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A projectsetting with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update blacklist for a given project ID","tags":["Mail"]}},"/v2/projects/{projectId}/mailsettings/whitelist":{"put":{"operationId":"mail-projectsetting-update-whitelist-deprecated","deprecated":true,"parameters":[{"description":"ID of the project you want to update whitelist for","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["whitelist"],"type":"object"}}}},"responses":{"200":{"description":"OK"},"403":{"description":"You do not have the permissions to access this content"},"404":{"description":"A projectsetting with the specified id was not found"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal server error"},"503":{"description":"The service is unavailable."}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update whitelist for a given project ID","tags":["Mail"]}},"/v2/delivery-boxes/{deliveryBoxId}/description":{"patch":{"operationId":"mail-update-delivery-box-description","parameters":[{"description":"ID of the DeliveryBox to update the description for.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"}},"required":["description"]}}},"description":"Description of the DeliveryBox."},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the description of a DeliveryBox.","tags":["Mail"]}},"/v2/delivery-boxes/{deliveryBoxId}/password":{"patch":{"operationId":"mail-update-delivery-box-password","parameters":[{"description":"ID of the DeliveryBox to update the password for.","in":"path","name":"deliveryBoxId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password of a DeliveryBox.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/address":{"patch":{"operationId":"mail-update-mail-address-address","parameters":[{"description":"ID of the MailAddress to update the address for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"format":"idn-email","type":"string"}},"required":["address"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/autoresponder":{"patch":{"operationId":"mail-update-mail-address-autoresponder","parameters":[{"description":"ID of the MailAddress to update the autoresponder for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"autoResponder":{"nullable":true,"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time","type":"string"},"message":{"type":"string"},"startsAt":{"format":"date-time","type":"string"}},"required":["message","active"],"type":"object"}},"required":["autoResponder"]}}},"description":"Autoresponder for the MailAddress."},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the autoresponder of a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-autoresponder-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the autoresponder for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"autoResponder":{"nullable":true,"properties":{"active":{"type":"boolean"},"expiresAt":{"format":"date-time","type":"string"},"message":{"type":"string"},"startsAt":{"format":"date-time","type":"string"}},"required":["message","active"],"type":"object"}},"required":["autoResponder"]}}},"description":"Autoresponder for the MailAddress."},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the autoresponder of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/catch-all":{"patch":{"operationId":"mail-update-mail-address-catch-all","parameters":[{"description":"ID of the MailAddress to update the catchall for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"}},"required":["active"]}}},"description":"Catchall of the MailAddress."},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the catchall of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/catchall":{"put":{"operationId":"mail-update-mail-address-catchall-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the catchall for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"}},"required":["active"]}}},"description":"Catchall of the MailAddress."},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the catchall of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/forward-addresses":{"patch":{"operationId":"mail-update-mail-address-forward-addresses","parameters":[{"description":"ID of the MailAddress to update the forward addresses for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["forwardAddresses"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the forward addresses of a MailAddresses.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-forward-addresses-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the forward addresses for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"forwardAddresses":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["forwardAddresses"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the forward addresses of a MailAddresses.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/password":{"patch":{"operationId":"mail-update-mail-address-password","parameters":[{"description":"ID of the MailAddress to update the password for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password for a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-password-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the password for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"type":"string"}},"required":["password"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the password for a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/quota":{"patch":{"operationId":"mail-update-mail-address-quota","parameters":[{"description":"ID of the MailAddress to update the quota for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"quotaInBytes":{"description":"2 GB","example":2147483648,"minimum":-1,"type":"number"}},"required":["quotaInBytes"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the quota of a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-quota-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the quota for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"quotaInBytes":{"description":"2 GB","example":2147483648,"minimum":-1,"type":"number"}},"required":["quotaInBytes"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the quota of a MailAddress.","tags":["Mail"]}},"/v2/mail-addresses/{mailAddressId}/spam-protection":{"patch":{"operationId":"mail-update-mail-address-spam-protection","parameters":[{"description":"ID of the MailAddress to update the spam protection for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"spamProtection":{"properties":{"active":{"type":"boolean"},"autoDeleteSpam":{"type":"boolean"},"folder":{"enum":["inbox","spam"],"type":"string"},"relocationMinSpamScore":{"maximum":10,"type":"integer"}},"required":["active","folder","relocationMinSpamScore","autoDeleteSpam"],"type":"object"}},"required":["spamProtection"]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the spam protection of a MailAddress.","tags":["Mail"]},"put":{"operationId":"mail-update-mail-address-spam-protection-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the MailAddress to update the spam protection for.","in":"path","name":"mailAddressId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"spamProtection":{"properties":{"active":{"type":"boolean"},"autoDeleteSpam":{"type":"boolean"},"folder":{"enum":["inbox","spam"],"type":"string"},"relocationMinSpamScore":{"maximum":10,"type":"integer"}},"required":["active","folder","relocationMinSpamScore","autoDeleteSpam"],"type":"object"}},"required":["spamProtection"]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the spam protection of a MailAddress.","tags":["Mail"]}},"/v2/projects/{projectId}/mail-settings/{mailSetting}":{"patch":{"operationId":"mail-update-project-mail-setting","parameters":[{"description":"ID of the Project to update a mail setting for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"The mail setting to update.","in":"path","name":"mailSetting","required":true,"schema":{"enum":["blacklist","whitelist"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["blacklist"],"type":"object"},{"properties":{"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["whitelist"],"type":"object"}]}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a mail setting of a Project.","tags":["Mail"]}},"/v2/projects/{projectId}/mail-settings/{setting}":{"put":{"operationId":"mail-update-project-mail-setting-v2-deprecated","deprecated":true,"parameters":[{"description":"ID of the Project to update a mail setting for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"The setting to update.","in":"path","name":"setting","required":true,"schema":{"enum":["blacklist","whitelist"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"properties":{"blacklist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["blacklist"],"type":"object"},{"properties":{"whitelist":{"items":{"format":"idn-email","type":"string"},"type":"array"}},"required":["whitelist"],"type":"object"}]}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a mail setting of a Project.","tags":["Mail"]}},"/v2/newsletter-subscriptions/self":{"get":{"operationId":"newsletter-get-info","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"active":{"example":true,"type":"boolean"},"email":{"example":"a.lovelace@example.com","type":"string"},"registered":{"example":true,"type":"boolean"}},"required":["email","active","registered"],"type":"object"}}},"description":"Status information about the subscription."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Getting the subscription status of the subscription.","tags":["Notification"]},"delete":{"operationId":"newsletter-unsubscribe-user","responses":{"204":{"description":"User has been unsubscribed."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Unsubscribe a user from the mStudio newsletter.","tags":["Notification"]}},"/v2/notification-unread-counts":{"get":{"operationId":"notifications-count-unread-notifications","description":"The user is determined by the access token used.\nLighter weight route instead of getting all unread notifications and count yourself.\n","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"error":{"minimum":0,"type":"integer"},"info":{"minimum":0,"type":"integer"},"success":{"minimum":0,"type":"integer"},"total":{"minimum":0,"type":"integer"},"warning":{"minimum":0,"type":"integer"}},"required":["total","success","info","warning","error"],"type":"object"}}},"description":"Counts of unread notifications"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the counts for unread notifications of the user.","tags":["Notification"]}},"/v2/notifications":{"get":{"operationId":"notifications-list-notifications","description":"","parameters":[{"in":"query","name":"status","required":false,"schema":{"enum":["unread","read"],"type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":500,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.Notification"},"type":"array"}}},"description":"List of notifications","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List all unread notifications.","tags":["Notification"]}},"/v2/notifications/status":{"put":{"operationId":"notifications-read-all-notifications-deprecated","deprecated":true,"description":"Deprecated route. Please use /v2/notifications/actions/read-all instead.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"}},"required":["status"],"type":"object"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Mark all notifications as read (deprecated).","tags":["Notification"]}},"/v2/notifications/actions/read-all":{"post":{"operationId":"notifications-read-all-notifications","description":"Mark all notifications for the authenticated user as read.","parameters":[{"in":"query","name":"severities","schema":{"items":{"enum":["success","info","warning","error"],"type":"string"},"type":"array"}},{"in":"query","name":"referenceId","schema":{"format":"uuid","type":"string"}},{"in":"query","name":"referenceAggregate","schema":{"type":"string"}},{"in":"query","name":"referenceDomain","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"},"updatedCount":{"description":"The number of notifications that have been updated.","format":"int32","type":"integer"}},"required":["status","updatedCount"],"type":"object"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Mark all notifications as read.","tags":["Notification"]}},"/v2/notifications/{notificationId}/status":{"put":{"operationId":"notifications-read-notification","parameters":[{"in":"path","name":"notificationId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"}},"required":["status"],"type":"object"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/de.mittwald.v1.messaging.NotificationStatus"}},"required":["status"],"type":"object"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Mark notification as read.","tags":["Notification"]}},"/v2/orders":{"post":{"operationId":"order-create-order","description":"","requestBody":{"content":{"application/json":{"schema":{"properties":{"orderData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingOrder"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerOrder"},{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainOrder"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ExternalCertificateOrder"}]},"orderType":{"enum":["domain","projectHosting","server","externalCertificate"],"example":"projectHosting","type":"string"}},"type":"object"}}},"description":"The Order to create.","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"orderId":{"type":"string"}},"required":["orderId"]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an Order.","tags":["Contract"]},"get":{"operationId":"order-list-orders","description":"The list of Orders the User has access to.","parameters":[{"example":1000,"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":[],"in":"query","name":"includesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":[],"in":"query","name":"excludesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":["PS23-BASIC-0001"],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get list of Orders.","tags":["Contract"]}},"/v2/tariff-changes":{"post":{"operationId":"order-create-tariff-change","description":"","requestBody":{"content":{"application/json":{"schema":{"properties":{"tariffChangeData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingTariffChange"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerTariffChange"}]},"tariffChangeType":{"enum":["projectHosting","server"],"type":"string"}},"type":"object"}}},"description":"The Order to create.","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"orderId":{"type":"string"}},"required":["orderId"]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create TariffChange Order.","tags":["Contract"]}},"/v2/orders/{orderId}":{"get":{"operationId":"order-get-order","description":"Get details of a single Order, User must have access to the Order/Customer.","parameters":[{"example":"123e4567-e89b-12d3-a456-426614174000","in":"path","name":"orderId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get Order for Customer.","tags":["Contract"]}},"/v2/customers/{customerId}/orders":{"get":{"operationId":"order-list-customer-orders","description":"The list of Orders of a Customer the User has access to, can be filtered by orderStatus, articleTemplate and count.","parameters":[{"example":"154219e9-bf4a-4f41-9c72-0449a98db62f","in":"path","name":"customerId","required":true,"schema":{"type":"string"}},{"example":1000,"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":[],"in":"query","name":"includesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":[],"in":"query","name":"excludesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":["PS23-BASIC-0001"],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get list of Orders of a Customer.","tags":["Contract"]}},"/v2/projects/{projectId}/orders":{"get":{"operationId":"order-list-project-orders","description":"The list of Order of a Project the User has access to, can be filtered by orderStatus, articleTemplate and count.","parameters":[{"example":"e7c4b2e6-e38f-4c9b-8583-08bd627ff4d8","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"example":1000,"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":0,"in":"query","name":"skip","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":1,"in":"query","name":"page","required":false,"schema":{"minimum":0,"type":"integer"}},{"example":[],"in":"query","name":"includesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":[],"in":"query","name":"excludesStatus","required":false,"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.OrderStatus"},"type":"array"}},{"example":["PS23-BASIC-0001"],"in":"query","name":"templateNames","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.order.CustomerOrder"},"type":"array"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get list of Orders of a Project.","tags":["Contract"]}},"/v2/order-previews":{"post":{"operationId":"order-preview-order","requestBody":{"content":{"application/json":{"schema":{"properties":{"orderData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingOrderPreview"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerOrderPreview"},{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainOrderPreview"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ExternalCertificateOrderPreview"}]},"orderType":{"enum":["domain","projectHosting","server","externalCertificate"],"type":"string"}},"type":"object"}}},"description":"Your order information","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.HostingOrderPreviewResponse"},{"$ref":"#/components/schemas/de.mittwald.v1.order.DomainOrderPreviewResponse"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ExternalCertificateOrderPreviewResponse"}]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"422":{"content":{"application/json":{"schema":{"properties":{"error":{"type":"object"}}}}},"description":"Unprocessable Content"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Preview Order.","tags":["Contract"]}},"/v2/tariff-change-previews":{"post":{"operationId":"order-preview-tariff-change","description":"","requestBody":{"content":{"application/json":{"schema":{"properties":{"tariffChangeData":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.order.ProjectHostingTariffChange"},{"$ref":"#/components/schemas/de.mittwald.v1.order.ServerTariffChange"}]},"tariffChangeType":{"enum":["projectHosting","server"],"type":"string"}},"type":"object"}}},"description":"Your order information","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"machineTypePrice":{"example":100,"type":"number"},"storagePrice":{"example":900,"type":"number"},"totalPrice":{"example":1000,"type":"number"}},"required":["totalPrice","storagePrice","machineTypePrice"]}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"422":{"content":{"application/json":{"schema":{"properties":{"error":{"type":"object"}}}}},"description":"Unprocessable Content"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Preview TariffChange.","tags":["Contract"]}},"/v2/page-insights":{"get":{"operationId":"pageinsights-get-performance-data","parameters":[{"description":"A domain or subdomain.","example":"mittwald.de","in":"query","name":"domain","required":true,"schema":{"type":"string"}},{"description":"A path of the domain.","example":"/","in":"query","name":"path","required":true,"schema":{"type":"string"}},{"description":"Query data for a specific date, defaults to date today.","example":"2017-07-21","in":"query","name":"date","required":false,"schema":{"format":"date","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"format":"date-time","type":"string"},"domain":{"type":"string"},"metrics":{"items":{"properties":{"createdAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"score":{"format":"double","nullable":true,"type":"number"},"value":{"format":"double","type":"number"}},"required":["name","value","createdAt"],"type":"object"},"type":"array"},"moreDataAvailable":{"items":{"format":"date","type":"string"},"type":"array"},"path":{"type":"string"},"performanceScore":{"format":"double","type":"number"},"screenshot":{"properties":{"createdAt":{"format":"date-time","type":"string"},"fileRef":{"type":"string"}},"required":["fileRef","createdAt"],"type":"object"}},"required":["domain","path","performanceScore"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get detailed performance data for a given domain and path.","tags":["Page Insights"]}},"/v2/projects/{projectId}/straces/{straceId}":{"get":{"operationId":"pageinsights-get-strace-data","parameters":[{"description":"ID of the strace to get the data for.","in":"path","name":"straceId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the project the strace belongs to.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"executedAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"result":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.strace.Error"},{"$ref":"#/components/schemas/de.mittwald.v1.strace.Data"}]}},"required":["id","executedAt","result"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all data for a given strace.","tags":["Page Insights"]}},"/v2/projects/{projectId}/page-insights":{"get":{"operationId":"pageinsights-list-performance-data-for-project","parameters":[{"description":"ID of the Project to list domains for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Filter for a specific domain.","example":"mittwald.de","in":"query","name":"domain","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"properties":{"domain":{"type":"string"},"paths":{"items":{"properties":{"createdAt":{"format":"date-time","type":"string"},"path":{"type":"string"},"performanceScore":{"type":"integer"},"screenshotFileRef":{"type":"string"}},"required":["path","performanceScore","createdAt"],"type":"object"},"type":"array"}},"required":["domain","paths"],"type":"object"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List websites (specified as domain and path) from a project where performance data is available.","tags":["Page Insights"]}},"/v2/projects/{projectId}/straces":{"post":{"operationId":"pageinsights-schedule-strace","parameters":[{"description":"ID of a project to own the created strace. It must exist a ingress with the same hostname as in the url to be measured.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"url":{"description":"A call to this URL is measured via strace.","example":"https://example.com","type":"string"}},"required":["url"],"type":"object"}}},"description":""},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Scheduled"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Schedule a strace measurement for a single http request.","tags":["Page Insights"]}},"/v2/project-invites/{projectInviteId}/actions/accept":{"post":{"operationId":"project-accept-project-invite","parameters":[{"description":"ID of the ProjectInvite to be accepted.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"invitationToken":{"description":"Token contained in the invite for authentication.","type":"string"}},"type":"object"}}},"required":true},"responses":{"204":{"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Accept a ProjectInvite.","tags":["Project"]}},"/v2/projects/{projectId}/invites":{"post":{"operationId":"project-create-project-invite","parameters":[{"description":"ID of the Project to create a ProjectInvite for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mailAddress":{"description":"Mail-address of the person to be invited.","format":"email","type":"string"},"membershipExpiresAt":{"description":"Time the resulting ProjectMembership should expire at.","format":"date-time","type":"string"},"message":{"description":"Message contained in the ProjectInvite.","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"}},"required":["mailAddress","role"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a ProjectInvite.","tags":["Project"]},"get":{"operationId":"project-list-invites-for-project","parameters":[{"description":"ID of the Project to list invites for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Invites belonging to a Project.","tags":["Project"]}},"/v2/servers/{serverId}/projects":{"post":{"operationId":"project-create-project","parameters":[{"description":"ID of the Server to create the Project for.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"description":"Name of the Project as it is displayed in the mStudio.","example":"My first Project!","type":"string"}},"required":["description"],"type":"object"}}},"description":""},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"],"type":"object"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a Project belonging to a Server.","tags":["Project"]}},"/v2/project-invites/{projectInviteId}/actions/decline":{"post":{"operationId":"project-decline-project-invite","parameters":[{"description":"ID of the ProjectInvite to be declined.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Decline a ProjectInvite.","tags":["Project"]}},"/v2/projects/{projectId}/avatar":{"delete":{"operationId":"project-delete-project-avatar","parameters":[{"description":"ID of the Project the avatar should be deleted for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Project's avatar.","tags":["Project"]},"post":{"operationId":"project-request-project-avatar-upload","parameters":[{"description":"ID of the Project you want to request an avatar upload for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"$ref":"#/components/schemas/de.mittwald.v1.project.AvatarRules"}},"required":["refId","rules"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a Project avatar upload.","tags":["Project"]}},"/v2/project-invites/{projectInviteId}":{"delete":{"operationId":"project-delete-project-invite","parameters":[{"description":"ID of the ProjectInvite to be deleted.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectInvite.","tags":["Project"]},"get":{"operationId":"project-get-project-invite","parameters":[{"description":"ID of the ProjectInvite to be retrieved.","in":"path","name":"projectInviteId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectInvite.","tags":["Project"]}},"/v2/project-memberships/{projectMembershipId}":{"delete":{"operationId":"project-delete-project-membership","parameters":[{"description":"ID of the ProjectMembership to be deleted.","in":"path","name":"projectMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"OK"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a ProjectMembership.","tags":["Project"]},"get":{"operationId":"project-get-project-membership","parameters":[{"description":"ID of the ProjectMembership to be retrieved.","in":"path","name":"projectMembershipId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"}}},"description":""},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectMembership","tags":["Project"]},"patch":{"operationId":"project-update-project-membership","parameters":[{"description":"ID of the ProjectMembership to be updated.","in":"path","name":"projectMembershipId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"Time the ProjectMembership should expire at.","format":"date-time","type":"string"},"role":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectRoles"}},"required":["role"],"type":"object"}}},"required":true},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a ProjectMembership.","tags":["Project"]}},"/v2/projects/{projectId}":{"delete":{"operationId":"project-delete-project","parameters":[{"description":"The ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Project.","tags":["Project"]},"get":{"operationId":"project-get-project","parameters":[{"description":"ID of the Project to be retrieved.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.Project"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project.","tags":["Project"]}},"/v2/servers/{serverId}/avatar":{"delete":{"operationId":"project-delete-server-avatar","parameters":[{"description":"ID of the Server to delete the avatar for.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Server's avatar.","tags":["Project"]},"post":{"operationId":"project-request-server-avatar-upload","parameters":[{"description":"ID of the Server to request an avatar upload for.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"format":"uuid","type":"string"},"rules":{"$ref":"#/components/schemas/de.mittwald.v1.project.AvatarRules"}},"required":["refId","rules"],"type":"object"}}},"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a Server avatar upload.","tags":["Project"]}},"/v2/projects/{projectId}/filesystem-directories":{"get":{"operationId":"project-file-system-get-directories","parameters":[{"description":"ID of the Project to list the directories for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"description":"The directory to start listing subdirectories from.","in":"query","name":"directory","required":false,"schema":{"type":"string"}},{"description":"Search for specific filenames, only. The name may be a glob expression.","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"The nesting depth for recursively listing directory contents.","in":"query","name":"max_depth","required":false,"schema":{"type":"integer"}},{"description":"One of file or directory (may be specified multiple times), to restrict results to directory items of this specific type.","in":"query","name":"type","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Set to true to constrain search results to executable files.","in":"query","name":"executable","required":false,"schema":{"type":"boolean"}},{"description":"Set to true to include hidden files. (with . prefix in the search results).","in":"query","name":"hidden","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemDirectoryListing"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List directories belonging to a Project.","tags":["Project File System"]}},"/v2/projects/{projectId}/filesystem-disk-usage":{"get":{"operationId":"project-file-system-get-disk-usage","parameters":[{"description":"ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Starting directory for the disk usage calculation.","in":"query","name":"directory","required":false,"schema":{"example":"/home/example.log","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemUsagesDisk"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project directory filesystem usage.","tags":["Project File System"]}},"/v2/projects/{projectId}/filesystem-file-content":{"get":{"operationId":"project-file-system-get-file-content","parameters":[{"description":"ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Name of the file.","in":"query","name":"file","required":false,"schema":{"example":"/home/example.log","type":"string"}},{"description":"Set to true to serve the file with Content-Disposition: inline. Otherwise, it will be served with Content-Disposition: attachment. filename=...","in":"query","name":"inline","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project file's content.","tags":["Project File System"]}},"/v2/projects/{projectId}/jwt":{"get":{"operationId":"project-file-system-get-jwt","parameters":[{"description":"ID of the Project to retrieve an authorization token for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FsApiJwt"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project's file/filesystem authorization token.","tags":["Project File System"]}},"/v2/projects/{projectId}/filesystem-files":{"get":{"operationId":"project-file-system-list-files","parameters":[{"description":"ID of the Project.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Name of the file to retrieve.","in":"query","name":"file","required":false,"schema":{"example":"/home/example.log","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.FilesystemDirectoryListing"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"503":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Project file's information.","tags":["Project File System"]}},"/v2/project-token-invite":{"get":{"operationId":"project-get-project-token-invite","parameters":[{"description":"Token of the ProjectInvite to be retrieved.","in":"header","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a ProjectInvite by token.","tags":["Project"]}},"/v2/projects/{projectId}/memberships/self":{"get":{"operationId":"project-get-self-membership-for-project","parameters":[{"description":"ID of the Project to get the membership for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get the executing user's membership in a Project.","tags":["Project"]}},"/v2/servers/{serverId}":{"get":{"operationId":"project-get-server","parameters":[{"description":"ID of the Server to be retrieved.","in":"path","name":"serverId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.project.Server"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Server.","tags":["Project"]}},"/v2/projects/{projectId}/leave":{"post":{"operationId":"project-leave-project","parameters":[{"description":"ID of the Project to be left.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Leave a Project.","tags":["Project"]}},"/v2/projects/{projectId}/memberships":{"get":{"operationId":"project-list-memberships-for-project","parameters":[{"description":"ID of the Project to list memberships for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Memberships belonging to a Project.","tags":["Project"]}},"/v2/project-invites":{"get":{"operationId":"project-list-project-invites","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectInvite"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List ProjectInvites belonging to the executing user.","tags":["Project"]}},"/v2/project-memberships":{"get":{"operationId":"project-list-project-memberships","parameters":[{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.membership.ProjectMembership"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List ProjectMemberships belonging to the executing user.","tags":["Project"]}},"/v2/projects":{"get":{"operationId":"project-list-projects","parameters":[{"description":"ID of the Organization to list Projects for.","in":"query","name":"customerId","required":false,"schema":{"example":"15b8a787-8d46-43b0-907e-01af35032c0a","type":"string"}},{"description":"ID of the Server to list Projects for.","in":"query","name":"serverId","required":false,"schema":{"format":"uuid","type":"string"}},{"name":"limit","in":"query","description":"The max count of resources to return in the list response.","schema":{"type":"integer","default":10000,"minimum":1},"required":false},{"name":"skip","in":"query","description":"Number of items to skip. Should be multiple of `limit`.","schema":{"type":"integer","default":0},"required":false},{"name":"page","in":"query","description":"Page to display. `skip` and `page` end up doing the same. If both `page` and `skip` are set, skip is used.","schema":{"type":"integer","minimum":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"properties":{"backupStorageUsageInBytes":{"type":"integer"},"backupStorageUsageInBytesSetAt":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"customerId":{"type":"string"},"customerMeta":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"description":{"type":"string"},"disableReason":{"$ref":"#/components/schemas/de.mittwald.v1.project.DisableReason"},"disabledAt":{"format":"date-time","type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"imageRefId":{"type":"string"},"isReady":{"deprecated":true,"description":"deprecated","type":"boolean"},"projectHostingId":{"format":"uuid","type":"string"},"readiness":{"$ref":"#/components/schemas/de.mittwald.v1.project.DeprecatedProjectReadinessStatus"},"serverId":{"type":"string"},"shortId":{"type":"string"},"status":{"$ref":"#/components/schemas/de.mittwald.v1.project.ProjectStatus"},"statusSetAt":{"format":"date-time","type":"string"},"webStorageUsageInBytes":{"type":"integer"},"webStorageUsageInBytesSetAt":{"format":"date-time","type":"string"}},"required":["id","shortId","description","enabled","customerMeta","customerId","createdAt","isReady","readiness","status","statusSetAt","webStorageUsageInBytes","webStorageUsageInBytesSetAt","backupStorageUsageInBytes","backupStorageUsageInBytesSetAt"],"type":"object"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"description":"The limit used to select the resources for the response","schema":{"type":"number"}},"X-Pagination-Skip":{"description":"The number of skipped items","schema":{"type":"number"}},"X-Pagination-Page":{"description":"The calculate page of the list response. Refer to parameters to learn more.","schema":{"type":"number"}},"X-Pagination-TotalCount":{"description":"The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.","schema":{"type":"number"}}}},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Projects belonging to the executing user.","tags":["Project"]}},"/v2/servers":{"get":{"operationId":"project-list-servers","parameters":[{"description":"ID of the Organization to list PlacementGroups for. If no ID is provided, the ID of the executing User is used instead.","in":"query","name":"customerId","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":10000,"minimum":0,"type":"integer"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"minimum":0,"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.project.Server"},"type":"array"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Servers belonging to the executing user.","tags":["Project"]}},"/v2/project-invites/{projectInviteId}/actions/resend":{"post":{"operationId":"project-resend-project-invite-mail","parameters":[{"description":"ID of the ProjectInvite to resend the mail for.","in":"path","name":"projectInviteId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":""},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Resend the mail for a ProjectInvite.","tags":["Project"]}},"/v2/projects/{projectId}/description":{"patch":{"operationId":"project-update-project-description","parameters":[{"description":"ID of the Project to update the description for.","in":"path","name":"projectId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"My new description!","type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Project's description.","tags":["Project"]}},"/v2/servers/{serverId}/description":{"patch":{"operationId":"project-update-server-description","parameters":[{"description":"ID of the Server to update the description of.","in":"path","name":"serverId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"My first Server!","type":"string"}},"required":["description"]}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Servers's description.","tags":["Project"]}},"/v2/legacy-tariff-change":{"post":{"operationId":"relocation-create-legacy-tariff-change","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"pAccount":{"pattern":"^[pr][0-9]{2,8}$","type":"string"},"targetTariff":{"minLength":1,"type":"string"}},"required":["pAccount","targetTariff"],"type":"object"}}},"description":"","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"messageId":{"format":"uuid","type":"string"}},"required":["messageId"],"type":"object"}}},"description":""},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Register a tariff change for a legacy tariff.","tags":["Relocation"]}},"/v2/relocation":{"post":{"operationId":"relocation-create-relocation","description":"Give mittwald access to your Provider and let them move your Project to mittwald.","requestBody":{"content":{"application/json":{"schema":{"properties":{"additionalServices":{"properties":{"dataCompare":{"enum":["default","additionalCompare"],"type":"string"}},"required":["dataCompare"],"type":"object"},"allDomains":{"description":"Should all project releated domains should be transferred to mittwald?","type":"boolean"},"allowPasswordChange":{"description":"Has to be true. Do you accept that our mittwald team can change and get password from your current provider?","type":"boolean"},"articleType":{"description":"Type of the article you want to relocate.","enum":["cms-hosting","cms-hosting-express","onlineshop","onlineshop-express"],"type":"string"},"contact":{"properties":{"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"minLength":1,"type":"string"},"lastName":{"minLength":1,"type":"string"},"phoneNumber":{"pattern":"|^\\+([0-9]{2,3}|1)-[0-9]{2,5}-[0-9]+$","type":"string"}},"required":["firstName","lastName","email"],"type":"object"},"domains":{"description":"List of domains which should be transferred (when allDomains is not checked).","items":{"$ref":"#/components/schemas/de.mittwald.v1.directus.Domain"},"type":"array"},"notes":{"description":"Anything our customer service needs to know for the relocation process.","type":"string"},"prices":{"properties":{"positions":{"items":{"properties":{"name":{"minLength":1,"type":"string"},"price":{"minimum":0,"type":"number"}},"required":["name","price"],"type":"object"},"type":"array"},"total":{"minimum":0,"type":"number"}},"required":["positions","total"],"type":"object"},"provider":{"properties":{"loginUrl":{"description":"Url to the control panel of the provider","minLength":1,"type":"string"},"name":{"description":"Name of your provider","oneOf":[{"minLength":1,"type":"string"},{"enum":["1und1","strato"],"type":"string"}]},"password":{"minLength":1,"type":"string"},"sourceAccount":{"description":"Which account of your provider should be moved?","minLength":1,"type":"string"},"userName":{"description":"Login name to your provider","minLength":1,"type":"string"}},"required":["name","loginUrl","userName","password","sourceAccount"],"type":"object"},"target":{"properties":{"organisation":{"description":"Your customer or organisation number","minLength":1,"type":"string"},"product":{"description":"Help our customer service finding your target account","oneOf":[{"minLength":1,"type":"string"},{"enum":["Space-Server","proSpace","Agentur-Server","CMS-Hosting","Shop-Hosting"],"type":"string"}],"type":"string"},"projectName":{"description":"In which p-account or short project id your project should be moved.","minLength":1,"type":"string"},"system":{"description":"Which mittwald system does the targetProject use?","enum":["kc","mstudio"],"type":"string"}},"required":["organisation","projectName","system","product"],"type":"object"}},"required":["articleType","additionalServices","prices","provider","contact","target","allowPasswordChange"],"type":"object"}}},"description":"","required":true},"responses":{"204":{"description":"No content"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Relocate an external Project to mittwald.","tags":["Relocation"]}},"/v2/projects/{projectId}/sftp-users":{"post":{"operationId":"sftp-user-create-sftp-user","parameters":[{"description":"ID of the Project to create an SFTPUser for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accessLevel":{"enum":["read","full"],"type":"string"},"authentication":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.Authentication"},"description":{"type":"string"},"directories":{"items":{"type":"string"},"minItems":1,"type":"array"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description","authentication","directories"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SftpUser"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an SFTPUser for a Project.","tags":["SSH/SFTP User"]},"get":{"operationId":"sftp-user-list-sftp-users","parameters":[{"description":"ID of the Project to request SFTPUsers for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SftpUser"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all SFTPUsers for a Project.","tags":["SSH/SFTP User"]}},"/v2/sftp-users/{sftpUserId}":{"delete":{"operationId":"sftp-user-delete-sftp-user","parameters":[{"description":"ID of the SFTPUser to be deleted.","in":"path","name":"sftpUserId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an SFTPUser.","tags":["SSH/SFTP User"]},"get":{"operationId":"sftp-user-get-sftp-user","parameters":[{"description":"ID of the SFTPUser to get.","in":"path","name":"sftpUserId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SftpUser"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an SFTPUser.","tags":["SSH/SFTP User"]},"patch":{"operationId":"sftp-user-update-sftp-user","parameters":[{"description":"ID of the SFTPUser to be updated.","in":"path","name":"sftpUserId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accessLevel":{"enum":["read","full"],"type":"string"},"active":{"type":"boolean"},"description":{"type":"string"},"directories":{"items":{"type":"string"},"minItems":1,"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"password":{"maxLength":72,"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an SFTPUser.","tags":["SSH/SFTP User"]}},"/v2/projects/{projectId}/ssh-users":{"post":{"operationId":"ssh-user-create-ssh-user","parameters":[{"description":"ID of the Project to create an SSHUser for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"authentication":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.Authentication"},"description":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description","authentication"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SshUser"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create an SSHUser for a Project.","tags":["SSH/SFTP User"]},"get":{"operationId":"ssh-user-list-ssh-users","parameters":[{"description":"ID of the Project to retrieve SSHUsers for.","in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SshUser"},"type":"array"}}},"description":"OK","headers":{"X-Pagination-Limit":{"schema":{"type":"number"}},"X-Pagination-Skip":{"schema":{"type":"number"}},"X-Pagination-TotalCount":{"schema":{"type":"number"}}}},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get all SSHUsers for a Project.","tags":["SSH/SFTP User"]}},"/v2/ssh-users/{sshUserId}":{"delete":{"operationId":"ssh-user-delete-ssh-user","parameters":[{"description":"ID of the SSHUser to be deleted.","in":"path","name":"sshUserId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"NoContent"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete an SSHUser.","tags":["SSH/SFTP User"]},"get":{"operationId":"ssh-user-get-ssh-user","parameters":[{"description":"ID of the SSHUser to be retrieved.","in":"path","name":"sshUserId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.SshUser"}}},"description":"OK"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get an SSHUser.","tags":["SSH/SFTP User"]},"patch":{"operationId":"ssh-user-update-ssh-user","parameters":[{"description":"ID of the SSHUser to be updated.","in":"path","name":"sshUserId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"active":{"type":"boolean"},"description":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"password":{"maxLength":72,"type":"string"},"publicKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.sshuser.PublicKey"},"type":"array"}},"type":"object"}}}},"responses":{"204":{"description":"NoContent"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an SSHUser.","tags":["SSH/SFTP User"]}},"/v2/certificates/{certificateId}/actions/check-replace-certificate":{"post":{"operationId":"ssl-check-replace-certificate","description":"Checks the replacement of a Certificate and shows differences between the current and the new Certificate.","parameters":[{"in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"type":"string"},"privateKey":{"type":"string"}},"required":["certificate"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CheckReplaceCertificateResponse"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check the replacement of a Certificate.","tags":["Domain"]}},"/v2/certificate-requests":{"post":{"operationId":"ssl-create-certificate-request","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequestCreateRequest"},{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequestCreateWithCSRRequest"}]}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequestCreateResponse"}}},"description":"Created"},"400":{"$ref":"#/components/responses/de.mittwald.v1.ssl.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Create a CertificateRequest.","tags":["Domain"]},"get":{"operationId":"ssl-list-certificate-requests","parameters":[{"description":"ID of the Project to list Certificate Requests for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Ingress to list Certificate Requests for.","in":"query","name":"ingressId","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequest"},"type":"array"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List CertificateRequests belonging to a Project or an Ingress.","tags":["Domain"]}},"/v2/certificate-request/{certificateRequestId}":{"delete":{"operationId":"ssl-delete-certificate-request","parameters":[{"in":"path","name":"certificateRequestId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a CertificateRequest.","tags":["Domain"]}},"/v2/certificate/{certificateId}":{"delete":{"operationId":"ssl-delete-certificate","parameters":[{"in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"No Content"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete a Certificate.","tags":["Domain"]}},"/v2/certificate-requests/{certificateRequestId}":{"get":{"operationId":"ssl-get-certificate-request","parameters":[{"description":"ID of the CertificateRequest to be retrieved.","in":"path","name":"certificateRequestId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.CertificateRequest"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a CertificateRequest.","tags":["Domain"]}},"/v2/certificates/{certificateId}":{"get":{"operationId":"ssl-get-certificate","parameters":[{"description":"ID of the SSL Certificate to be retrieved.","in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Certificate"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a Certificate.","tags":["Domain"]},"put":{"operationId":"ssl-replace-certificate","parameters":[{"in":"path","name":"certificateId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"type":"string"},"privateKey":{"type":"string"}},"required":["certificate"],"type":"object"}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.ssl.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update a Certificate.","tags":["Domain"]}},"/v2/certificates":{"get":{"operationId":"ssl-list-certificates","parameters":[{"description":"ID of the Project to list Certificates for.","in":"query","name":"projectId","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"ID of the Ingress to list Certificates for.","in":"query","name":"ingressId","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.ssl.Certificate"},"type":"array"}}},"description":"OK"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List Certificates belonging to a Project or an Ingress.","tags":["Domain"]}},"/v2/certificate-requests/{certificateRequestId}/certificate":{"patch":{"operationId":"ssl-set-certificate-request-certificate","parameters":[{"in":"path","name":"certificateRequestId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"certificate":{"type":"string"}},"required":["certificate"],"type":"object"}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/de.mittwald.v1.ssl.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update the certificate of a CertificateRequest.","tags":["Domain"]}},"/v2/users/{userId}/phone":{"post":{"operationId":"user-add-phone-number","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"phoneNumber":{"example":"+491701234567","type":"string"}},"required":["phoneNumber"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Phone number was added successfully. Now, it can be verified via /v2/users/:userId/actions/verify-phone."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Add phone number and start verification process.","tags":["User"]},"delete":{"operationId":"user-remove-phone-number","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"PhoneNumber removal was successful"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove phone number.","tags":["User"]}},"/v2/authenticate-mfa":{"post":{"operationId":"user-authenticate-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The email of the user.","example":"a.lovelace@example.com","format":"email","type":"string"},"multiFactorCode":{"description":"The second factor - otp code or recovery code.","example":"123456","maxLength":16,"minLength":6,"type":"string"},"password":{"description":"The password of the user.","type":"string"}},"required":["multiFactorCode","email","password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expires":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the api gateway.","type":"string"}},"required":["token","refreshToken","expires"],"type":"object"}}},"description":"Your authentication request was successful and you've got an access token."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible your multiFactorCode is not valid\n"},"408":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/de.mittwald.v1.signup.DomainError"},{"properties":{"name":{"enum":["FirstAuthenticationFactorExpired"],"type":"string"}},"type":"object"}]}}},"description":"Your first factor has been expired. Please call '/authentication' again\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Validate your second factor.","tags":["User"]}},"/v2/authenticate":{"post":{"operationId":"user-authenticate","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The users Email-Address.","example":"a.lovelace@example.com","type":"string"},"password":{"description":"Password of the User.","type":"string"}},"required":["email","password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expires":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the api gateway.","type":"string"}},"required":["token","refreshToken","expires"],"type":"object"}}},"description":"Your authentication request was successfull and you've got an access token."},"202":{"content":{"application/json":{"schema":{"properties":{"name":{"enum":["SecondFactorRequired"],"type":"string"}},"type":"object"}}},"description":"Multi factor authentication is activated for this user. After calling this, you need to call '/authentication/mfa' with a valid multi factor code.\n"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Authentication failed because of wrong credentials.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Authenticate yourself to get an access token.","tags":["User"]}},"/v2/authenticate-token-retrieval-key":{"post":{"operationId":"user-authenticate-with-access-token-retrieval-key","requestBody":{"content":{"application/json":{"schema":{"properties":{"accessTokenRetrievalKey":{"maxLength":37,"minLength":37,"type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","accessTokenRetrievalKey","refreshToken"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the public api.","type":"string"}},"required":["token","refreshToken","expiresAt"],"type":"object"}}},"description":"Your authentication request was successful and you've got an access token."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Authenticate an user with an access token retrieval key.","tags":["User"]}},"/v2/users/self/credentials/email":{"put":{"operationId":"user-change-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The new Email-Address","example":"ada.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Your email has been added, but needs to be verfied. Check your mails and\ncall /email/verify with the verification code sent with the mail.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailInUse\n * EmailBlacklisted\n * EmailMXInvalid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your Email-Address.","tags":["User"]},"get":{"operationId":"user-get-own-email","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"email":{"example":"a.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"description":"Your Email-Address."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your verified Email-Address.","tags":["User"]}},"/v2/users/self/credentials/password":{"put":{"operationId":"user-change-password","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.\nThis is optional, depending on the MFA activation status of the profile.\n","example":"123456","maxLength":16,"minLength":6,"type":"string"},"newPassword":{"description":"The new password.","type":"string"},"oldPassword":{"description":"The old password.","type":"string"}},"required":["oldPassword","newPassword"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expires":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token once it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the api gateway.","type":"string"}},"required":["token","expires"],"type":"object"}}},"description":"Your password has been changed."},"202":{"$ref":"#/components/responses/de.mittwald.v1.signup.SecondFactorRequiredError"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailAddressNotVerified\n * WrongPassword\n * SamePassword\n * PasswordIsLeaked\n * MfaCodeNotValid\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change your password.","tags":["User"]}},"/v2/users/self/credentials/token":{"post":{"operationId":"user-check-token","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"id":{"format":"uuid","type":"string"},"publicToken":{"type":"string"}},"required":["id","publicToken"],"type":"object"}}},"description":"Your token is valid."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check token for validity.","tags":["User"]}},"/v2/users/self/credentials/mfa":{"post":{"operationId":"user-confirm-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.","example":"123456","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"recoveryCodesList":{"items":{"example":1234123412341234,"maxLength":16,"minLength":16,"type":"string"},"maxItems":20,"minItems":20,"type":"array"}},"required":["recoveryCodesList"],"type":"object"}}},"description":"Mfa is now activated and recovery codes are in the response body."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailAddressNotVerified\n * MfaNotInitialized\n * MfaAlreadyConfirmed\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Confirm Multi Factor Authentication.","tags":["User"]},"delete":{"operationId":"user-disable-mfa","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to confirm MFA.","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Multi Factor Authentication was disabled."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * MultiFactorCodeNotValid\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Disable Multi Factor Authentication.","tags":["User"]},"get":{"operationId":"user-get-mfa-status","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"confirmed":{"type":"boolean"},"initialized":{"type":"boolean"}},"required":["initialized","confirmed"],"type":"object"}}},"description":"Multi factor auth status"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your current multi factor auth status.","tags":["User"]},"put":{"operationId":"user-reset-recoverycodes","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to authorize your request.","example":"123456","maxLength":16,"minLength":6,"type":"string"}},"required":["multiFactorCode"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"recoveryCodesList":{"items":{"example":1234123412341234,"maxLength":16,"minLength":16,"type":"string"},"maxItems":20,"minItems":20,"type":"array"}},"required":["recoveryCodesList"],"type":"object"}}},"description":"Recovery-Codes are reset now. The new Recovery-Codes are in the response body."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * MultiFactorCodeNotValid\n * MfaNotInitialized\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Reset RecoveryCodes for MFA.","tags":["User"]}},"/v2/users/self/credentials/password/confirm-reset":{"post":{"operationId":"user-confirm-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"description":"The new password.","type":"string"},"token":{"description":"Password reset token","maxLength":6,"minLength":6,"type":"string"},"userId":{"description":"UserId of the user to reset the password for.","format":"uuid","type":"string"}},"required":["userId","token","password"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Password reset was successful."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongPasswordResetToken\n * EmailAddressNotVerified\n * PasswordIsLeaked\n * ValidationError\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Confirm password reset.","tags":["User"]}},"/v2/users/self/api-tokens":{"post":{"operationId":"user-create-api-token","requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"Api Token - read","type":"string"},"expiresAt":{"format":"date-time","type":"string"},"roles":{"description":"Determines the access rights of the ApiToken.","example":{"value":["api_read"]},"items":{"enum":["api_read","api_write"],"type":"string"},"minItems":1,"type":"array","uniqueItems":true}},"required":["roles","description"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"token":{"description":"The `ApiToken`.","type":"string"}},"required":["token"],"type":"object"}}},"description":"ApiToken was added."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Store a new ApiToken.","tags":["User"]},"get":{"operationId":"user-list-api-tokens","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.signup.ApiToken"},"type":"array"}}},"description":"A list of ApiTokens."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List all of your ApiTokens.","tags":["User"]}},"/v2/users/self/feedback":{"post":{"operationId":"user-create-feedback","requestBody":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"Personal feedback message.","maxLength":5000,"type":"string"},"origin":{"description":"Origin of the feedback.","example":"https://studio.mittwald.de/app/dashboard","maxLength":1000,"type":"string"},"subject":{"description":"Descriptive subject.","maxLength":100,"type":"string"},"type":{"description":"Type of feedback.","enum":["feedback","bug"],"type":"string"},"vote":{"description":"Feedback rating from bad to good. Set to 0 or skip this field to not vote at all.","maximum":10,"minimum":0,"type":"number"}},"required":["subject"],"type":"object"}}},"description":"The feedback to give."},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Feedback successfully submitted."},"401":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Submit your user feedback.","tags":["User"]}},"/v2/users/self/ssh-keys":{"post":{"operationId":"user-create-ssh-key","requestBody":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"format":"date-time","type":"string"},"publicKey":{"example":"ssh-rsa ...","type":"string"}},"required":["publicKey"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The ssh-key was stored."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Store a new ssh-key.","tags":["User"]},"get":{"operationId":"user-list-ssh-keys","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"sshKeys":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.signup.SshKey"},"type":"array"}},"type":"object"}}},"description":"The list of stored ssh-keys."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your stored ssh-keys.","tags":["User"]}},"/v2/users/self/api-tokens/{apiTokenId}":{"delete":{"operationId":"user-delete-api-token","parameters":[{"description":"The uuid of an ApiToken.","in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The `ApiToken` has been deleted."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Deletes an ApiToken.","tags":["User"]},"put":{"operationId":"user-edit-api-token","parameters":[{"in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"example":"Api Token for ...","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["description"],"type":"object"}}},"required":true},"responses":{"204":{"description":"ApiToken was updated."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update an existing `ApiToken`.","tags":["User"]},"get":{"operationId":"user-get-api-token","parameters":[{"description":"The id of an ApiToken.","in":"path","name":"apiTokenId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.signup.ApiToken"}}},"description":"The ApiToken."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a specific ApiToken.","tags":["User"]}},"/v2/users/self/ssh-keys/{sshKeyId}":{"delete":{"operationId":"user-delete-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"204":{"description":"The ssh-key has been removed."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove a ssh-key.","tags":["User"]},"put":{"operationId":"user-edit-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"comment":{"example":"a.lovelace@example.com","type":"string"},"expiresAt":{"format":"date-time","type":"string"}},"required":["comment"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The ssh-key has been edited."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Edit a stored ssh-key.","tags":["User"]},"get":{"operationId":"user-get-ssh-key","parameters":[{"in":"path","name":"sshKeyId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"sshKey":{"$ref":"#/components/schemas/de.mittwald.v1.signup.SshKey"}},"required":["sshKey"],"type":"object"}}},"description":"The requested ssh-key."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a specific stored ssh-key.","tags":["User"]}},"/v2/users/self":{"delete":{"operationId":"user-delete-user","requestBody":{"content":{"application/json":{"schema":{"properties":{"multiFactorCode":{"description":"Multi Factor Code to authorize your request.","example":"123456","maxLength":16,"minLength":6,"type":"string"},"password":{"type":"string"}},"required":["password"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Your user has been deleted."},"202":{"$ref":"#/components/responses/de.mittwald.v1.signup.SecondFactorRequiredError"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * WrongPassword\n * MfaCodeNotValid\n"},"409":{"$ref":"#/components/responses/de.mittwald.v1.signup.RemovingLastOwnerNotAllowedError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Delete your account and all your personal data.","tags":["User"]}},"/v2/users/self/personal-information":{"get":{"operationId":"user-get-own-account","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.signup.Account"}}},"description":"Account information."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get your account information.","tags":["User"]},"put":{"operationId":"user-update-account","requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Account has been updated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update your account information.","tags":["User"]}},"/v2/users/self/credentials/password-updated-at":{"get":{"operationId":"user-get-password-updated-at","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"passwordUpdatedAt":{"format":"date-time","type":"string"}},"required":["passwordUpdatedAt"],"type":"object"}}},"description":"Timestamp of latest password change."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"The timestamp of your latest password change.","tags":["User"]}},"/v2/users/{userId}/settings":{"get":{"operationId":"user-get-personalized-settings","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"example":"eyJvbmJvYXJkaW5nIjp7ImNvbXBsZXRlZCI6W119LCJyZWNlbnRWaXNpdHMiOnsicmVjZW50VmlzaXRzIjp7fSwicmVjZW50VmlzaXRlZFBhdGhzIjp7fX0sImNoYW5nZWxvZ3MiOnsicmVhZElkcyI6WzIsMSwzLDQsNSw2LDgsNyw5XX19","format":"base64","type":"string"}},"type":"object"}}},"description":"Personal settings of the user."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get personalized settings.","tags":["User"]},"put":{"operationId":"user-update-personalized-settings","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"settingsString":{"example":"eyJvbmJvYXJkaW5nIjp7ImNvbXBsZXRlZCI6W119LCJyZWNlbnRWaXNpdHMiOnsicmVjZW50VmlzaXRzIjp7fSwicmVjZW50VmlzaXRlZFBhdGhzIjp7fX0sImNoYW5nZWxvZ3MiOnsicmVhZElkcyI6WzIsMSwzLDQsNSw2LDgsNyw5XX19","format":"base64","type":"string"}},"required":["settingsString"],"type":"object"}}},"required":true},"responses":{"204":{"description":"PersonalSettings have been updated"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Update personalized GUI settings.","tags":["User"]}},"/v2/poll-settings/{userId}":{"get":{"operationId":"user-get-poll-status","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.poll.UserPollSettings"}}},"description":""},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Get poll settings for the specified user.","tags":["User"]},"post":{"operationId":"user-post-poll-status","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"enum":["completed","muted","ignored"],"type":"string"},"userId":{"type":"string"}},"required":["userId","status"],"type":"object"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.poll.UserPollSettings"}}},"description":"The updated poll settings."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Store new or update poll settings.","tags":["User"]}},"/v2/users/self/sessions/{tokenId}":{"get":{"operationId":"user-get-session","parameters":[{"description":"TokenId to identify a specific session.","in":"path","name":"tokenId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.signup.UserSession"}}},"description":"The session."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get a specific session.","tags":["User"]},"delete":{"operationId":"user-terminate-session","parameters":[{"description":"The sessionId is the id of the token used to create the session.","in":"path","name":"tokenId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Session terminated."},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate a specific Session.","tags":["User"]}},"/v2/users/{userId}":{"get":{"operationId":"user-get-user","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.user.User"}}},"description":"The user profile."},"403":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"412":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Get profile information for a user.","tags":["User"]},"put":{"operationId":"user-update-personal-information","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["person"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Your personal information has been changed"},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Change personal information.","tags":["User"]}},"/v2/users/self/credentials/init-mfa":{"post":{"operationId":"user-init-mfa","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"barcode":{"description":"base64 encoded barcode content to scan from your mfa app. e.g. `iVBORw0KGgoAAAANSUhEUgAAAMgAAADIEAAAAADYoy...`. You\ncan display it with ``\n","type":"string"},"url":{"description":"Same as barcode, but in URL form.\n","example":"otpauth://totp/mStudio:test@gmail.com?algorithm=SHA1&digits=6&issuer=mStudio&period=30&secret=HTXT7KJFVNAJUPYWQRWMNVQE5AF5YZI2","type":"string"}},"required":["barcode","url"],"type":"object"}}},"description":"The process of activating Multi Factor Authentication is initialized."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailAddressNotVerified\n * MfaAlreadyConfirmed\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Initialize Multi Factor Authentication. If successful, it needs to be confirmed, before usage of mfa.","tags":["User"]}},"/v2/users/self/credentials/actions/init-password-reset":{"post":{"operationId":"user-init-password-reset","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"Email address to reset the password for.","example":"a.lovelace@example.com","format":"email","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The password reset process has been initialized and an email with confirmation code has been sent.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Initialize password reset process.","tags":["User"]}},"/v2/users/{userId}/feedback":{"get":{"operationId":"user-list-feedback","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}},{"description":"Filter for subject content.","in":"query","name":"subject","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.user.UserFeedback"},"type":"array"}}},"description":"Feedback submitted by the user."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Submitted feedback of the given user.","tags":["User"]}},"/v2/users/self/sessions":{"get":{"operationId":"user-list-sessions","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/de.mittwald.v1.signup.UserSession"},"type":"array"}}},"description":"List of all sessions."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"List all sessions.","tags":["User"]},"put":{"operationId":"user-refresh-session","requestBody":{"content":{"application/json":{"schema":{"properties":{"refreshToken":{"type":"string"}},"required":["refreshToken"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"The expiration date of the token.","format":"date-time","type":"string"},"refreshToken":{"description":"Refresh token to refresh your access token even after it has expired.","type":"string"},"token":{"description":"Public token to identify yourself against the public api.","type":"string"}},"required":["token","refreshToken","expiresAt"],"type":"object"}}},"description":"Your token refresh was successful and you've got new a new access token. The used one in this call is no longer valid."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Refresh a session.","tags":["User"]},"delete":{"operationId":"user-terminate-all-sessions","responses":{"204":{"description":"All sessions terminated."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate all sessions, except the current session.","tags":["User"]}},"/v2/logout":{"put":{"operationId":"user-logout","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"204":{"description":"You've been logged out. The access token has been removed and invalidated."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Terminate session and invalidate access token.","tags":["User"]}},"/v2/oauth2/authorize":{"get":{"operationId":"user-oauth-get-authorization","description":"The OAuth 2.0 client requests authorization from the resource owner according to\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749). The\nauthorization request is made indirectly via the authorization\nserver as an intermediary.\n","parameters":[{"description":"Access Token of the Resource Owner.\n","in":"cookie","name":"x-access-token","required":false,"schema":{"type":"string"}},{"description":"Can be set in combination with `Authorization`-Header to grant consent for the requested scopes.\nIf set to `true`, the scopes will be marked as consented and the authorization server will\nredirect the user-agent back to the client.\nIf set to `false`, the authorization server will redirect the user-agent back to the client with an\naccess denied error.\nIf not set and `Authorization`-Header is set, the user will be asked for consent.\n","in":"query","name":"grant_consent","required":false,"schema":{"type":"boolean"}},{"description":"The grant type. Must be set to `authorization_code` for this endpoint.\n","in":"query","name":"grant_type","required":false,"schema":{"enum":["authorization_code"],"type":"string"}},{"description":"The response type. Must be set to `code` for this endpoint.\n","in":"query","name":"response_type","required":true,"schema":{"enum":["code"],"type":"string"}},{"description":"The client identifier as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-2.2).\n","in":"query","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"The redirection URI to which the authorization server\ndirects the user-agent back after the authorization\nendpoint. Must be a valid URI.\n","in":"query","name":"redirect_uri","required":false,"schema":{"format":"uri","type":"string"}},{"description":"The scope of the access request as described by\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3).\n","in":"query","name":"scope","required":false,"schema":{"type":"string"}},{"description":"An opaque value used by the client to maintain state\nbetween the request and callback. The authorization server\nincludes this value when redirecting the user-agent back to\nthe client. The parameter SHOULD be used for preventing\ncross-site request forgery as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-10.12).\n","in":"query","name":"state","required":false,"schema":{"type":"string"}},{"description":"The code challenge as described by\n[RFC7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.2).\nIf the authorization code flow should be used with Proof Key for Code Exchange (PKCE), this parameter\n must be set and the code verifier has to be given to the token endpoint.\n","in":"query","name":"code_challenge","required":false,"schema":{"type":"string"}},{"description":"The code challenge method as described in\n[RFC7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.3).\nIf used, the code_challenge must be set as well and the code verifier\nhas to be given to the token endpoint\n","in":"query","name":"code_challenge_method","required":false,"schema":{"enum":["S256"],"type":"string"}}],"responses":{"302":{"description":"The authorization server redirects the user-agent by\nsending the HTTP response with status code 302 and the HTTP\n`Location`-Header field containing the authorization endpoint URI\nwith either the query parameters `code` added, if successful or `error`\nand `error_description` added, if not. Fore more Information see\n[Authorization Response](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2).\n"},"400":{"content":{"application/json":{"schema":{"properties":{"error":{"enum":["invalid_request"],"type":"string"},"error_description":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The request is missing a required parameter, includes an\ninvalid parameter value, includes a parameter more than\nonce, or is otherwise malformed.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Obtain authorization from the resource owner.","tags":["User"]}},"/v2/oauth2/token":{"post":{"operationId":"user-oauth-retrieve-access-token","description":"The OAuth 2.0 client retrieves an Access Token from an existing authorization code according to\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749).\n","parameters":[{"description":"The client credentials (`client_id` and `client_secret`), separated with a colon\nand base64 encoded as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-2.3.1).\nSubmitting the `client_id` and `client_secret` as request-body as suggested is forbidden.\n","in":"header","name":"Authorization","required":false,"schema":{"example":"Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=","type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"properties":{"code":{"description":"The authorization code received from the authorization server.\n","type":"string"},"code_verifier":{"description":"The code verifier used to generate the code challenge as described in\n[RFC7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.1).\nIf the authorization flow was initiated with a code challenge, this parameter is required.\n","type":"string"},"grant_type":{"description":"The grant type as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3).\n","enum":["authorization_code"],"type":"string"},"redirect_uri":{"description":"The redirection URI used in the authorization request.\nMust be a valid URI.\n","format":"uri","type":"string"}},"required":["grant_type","redirect_uri","code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"access_token":{"description":"The access token issued by the authorization server.\n","type":"string"},"expires_in":{"description":"The lifetime in seconds of the access token. For\nexample, the value \"3600\" denotes that the access\ntoken will expire in one hour from the time the\nresponse was generated.\n","type":"integer"},"refresh_token":{"description":"The refresh token issued by the authorization server.\n","type":"string"},"scope":{"description":"The scope of the access token as described by\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3).\n","type":"string"},"token_type":{"description":"The type of the token issued as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-7.1).\n","enum":["bearer"],"type":"string"}},"required":["access_token","refresh_token","token_type","expires_in"],"type":"object"}}},"description":"The authorization server issues an access token as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-5.1).\n"},"400":{"content":{"application/json":{"schema":{"properties":{"error":{"enum":["invalid_request","invalid_client","invalid_grant","unauthorized_client","unsupported_grant_type","invalid_scope"],"type":"string"},"error_description":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The request of an access token is invalid as described in\n[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749#section-5.2).\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Retrieve Access Token from Authorization Code.","tags":["User"]}},"/v2/register":{"post":{"operationId":"user-register","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The users email address","format":"email","type":"string"},"password":{"description":"The users password.","type":"string"},"person":{"$ref":"#/components/schemas/de.mittwald.v1.commons.Person"}},"required":["email","password","person"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"userId":{"format":"uuid","type":"string"}},"required":["userId"],"type":"object"}}},"description":"Registration was successfull. A verification email will be sent to the specified email address.\nThe users can be used as soon as the verification link was opened\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values does not meet our requirements.\nPossible domain specific `type` values are:\n * EmailInUse\n * PasswordIsLeaked\n * ValidationError\n * PasswordEqualsEmail\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Register with email and password.","tags":["User"]}},"/v2/users/{userId}/avatar":{"delete":{"operationId":"user-remove-avatar","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Avatar removal was successful."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Remove Avatar.","tags":["User"]},"post":{"operationId":"user-request-avatar-upload","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"refId":{"description":"The `refId` to be used to upload your avatar to the /v2/files/:refId route.","format":"uuid","type":"string"},"rules":{"description":"Contstraints for the avatar image upload.","properties":{"maxSizeInKB":{"description":"Maximum size in kilobytes of the avatar image.","example":3000,"type":"integer"},"mimeTypes":{"description":"List of supported mime types.","items":{"example":"image/png","type":"string"},"type":"array"},"properties":{"properties":{"imageDimensions":{"description":"Supported range of dimensions for the avatar image.","properties":{"max":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"},"min":{"properties":{"height":{"type":"integer"},"width":{"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"}},"required":["mimeTypes","maxSizeInKB"],"type":"object"}},"required":["refId","rules"],"type":"object"}}},"description":"Avatar upload request was successful."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a new avatar image upload.","tags":["User"]}},"/v2/users/self/credentials/email/actions/resend-email":{"post":{"operationId":"user-resend-verification-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"example":"ada.lovelace@example.com","format":"email","type":"string"},"userId":{"format":"uuid","type":"string"}},"required":["userId","email"],"type":"object"}}},"required":true},"responses":{"204":{"description":"New Email-Address verification email was sent."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\n"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Resend the Email-Address verification email.","tags":["User"]}},"/v2/users/self/credentials/support-code":{"get":{"operationId":"user-support-code-request","parameters":[{"in":"query","name":"forceRecreate","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"expiresAt":{"description":"Expiration of the support code","format":"date-time","type":"string"},"supportCode":{"description":"support code to authenticate yourself against the mittwald support via telephone","example":"123456","type":"string"}},"required":["supportCode","expiresAt"],"type":"object"}}},"description":"The requested support code and the expiry."},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Request a support code.","tags":["User"]}},"/v2/users/self/credentials/email/actions/verify-email":{"post":{"operationId":"user-verify-email","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The Email-Address to verify.","example":"ada.lovelace@example.com","format":"email","type":"string"},"token":{"description":"The token found in the verification email.","example":"123456","type":"string"}},"required":["email"],"type":"object"}}},"required":true},"responses":{"204":{"description":"Email has been verified."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * WrongVerificationToken\n * EmailNotFound\n * WrongVerificationToken\n * EmailAddressAlreadyVerified\n"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify an added Email-Address.","tags":["User"]}},"/v2/users/{userId}/actions/verify-phone":{"post":{"operationId":"user-verify-phone-number","parameters":[{"description":"`self` or the id of a user.","examples":{"self":{"summary":"You","value":"self"},"userId":{"summary":"ID of a user.","value":"10203040-1234-5678-abcd-badc0de01234"}},"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"example":"123456","maxLength":6,"minLength":6,"type":"string"},"phoneNumber":{"example":"+491701234567","type":"string"}},"required":["phoneNumber","code"],"type":"object"}}},"required":true},"responses":{"204":{"description":"The phone number has been verified."},"400":{"$ref":"#/components/responses/de.mittwald.v1.commons.ValidationError"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"409":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Verify phone number.","tags":["User"]}},"/v2/verify-registration":{"post":{"operationId":"user-verify-registration","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The users email address.","format":"email","type":"string"},"token":{"description":"The token that was send to your email address","example":123456,"maxLength":16,"minLength":6,"type":"string"},"userId":{"description":"UUID of the registered user.","format":"uuid","type":"string"}},"required":["email","token","userId"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"User is verified and you can now login to your user account.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/de.mittwald.v1.commons.ValidationErrors"}}},"description":"Some of the specified values do not meet our requirements.\nPossible domain specific `type` values are:\n * UserRegistrationAlreadyVerified\n * WrongVerificationToken\n"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.NotFoundError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"summary":"Verify your registration.","tags":["User"]}},"/v2/actions/verify-address":{"post":{"operationId":"verification-verify-address","description":"Only the DACH region is currently supported.","requestBody":{"content":{"application/json":{"schema":{"properties":{"city":{"example":"Bremen","type":"string"},"country":{"description":"Accepts the whole english or german name as well as the ISO 3166-2 country codes.","example":"DE","type":"string"},"street":{"description":"Includes the house number.","example":"Bremer Straße 1","type":"string"},"zip":{"example":"28203","type":"string"}},"required":["street","zip","city","country"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"exists":{"type":"boolean"}},"required":["exists"],"type":"object"}}},"description":"Success"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal Server Error"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[],"summary":"Check if an address exists.","tags":[]}},"/v2/actions/verify-company":{"post":{"operationId":"verification-verify-company","description":"Only companies registered in the german company register are currently supported.","requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"example":"Mittwald CM Service GmbH & Co. KG","type":"string"}},"required":["name"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"exists":{"type":"boolean"}},"required":["exists"],"type":"object"}}},"description":"Success"},"412":{"description":"Precondition Failed"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"500":{"description":"Internal Server Error"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Check if a company exists.","tags":[]}},"/v2/cronjobs/{cronjobId}/executions/{executionId}/actions/abort":{"post":{"operationId":"deprecated-cronjob-abort-execution","deprecated":true,"parameters":[{"description":"ID of the CronjobExecution to be aborted.","in":"path","name":"cronjobId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"executionId","required":true,"schema":{"example":"cron-bd26li-28027320","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}}},"responses":{"204":{"description":"NoContent"},"404":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"},"429":{"$ref":"#/components/responses/de.mittwald.v1.commons.RateLimitError"},"default":{"$ref":"#/components/responses/de.mittwald.v1.commons.DefaultError"}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}],"summary":"Abort a CronjobExecution.","tags":["Cronjob"]}}},"security":[{"de.mittwald.v1.commons.AccessToken":[]}]} \ No newline at end of file