This week's changelog for the mittwald API includes significant updates such as changes to request parameter types, the addition of new optional properties, and the introduction of a new endpoint for copying MySQL databases.
Summary
- The type of the
mysqlDatabaseId path parameter has changed from 'string'/'uuid' to 'string' for the following operations: DELETE (delete a MySQLDatabase), GET (get a MySQLDatabase), PATCH (update a MySQLDatabase's default character settings), PATCH (update a MySQLDatabase's description), GET (list MySQLUsers belonging to a Database), and POST (create a MySQLUser).
- The type of the
mysqlUserId path parameter has changed from 'string'/'uuid' to 'string' for the following operations: DELETE (delete a MySQLUser), GET (get a MySQLUser), PUT (update a MySQLUser), POST (disable a MySQLUser), POST (enable a MySQLUser), PATCH (update a MySQLUser's password), and GET (get a MySQLUser's PhpMyAdmin-URL).
- The type of the
projectBackupId path parameter has changed from 'string'/'uuid' to 'string' for the following operations: DELETE (delete a ProjectBackup), GET (get a ProjectBackup), PATCH (update a ProjectBackup's description), DELETE (delete a ProjectBackupExport), and POST (create a ProjectBackupExport). T
- The type of the
projectId path parameter has changed from 'string'/'uuid' to 'string' for the following operations: GET (get a Project), DELETE (delete a Project's avatar), POST (request a Project avatar upload), GET (list BackupSchedules belonging to a Project), POST (create a BackupSchedule for a Project), GET (list Backups belonging to a Project), POST (create a Backup of a Project), PATCH (update a Project's description), GET (get a Project directory filesystem usage), GET (get a Project file's content), GET (get a Project file's information), GET (list MySQLDatabases belonging to a Project), POST (create a MySQLDatabase with a MySQLUser), GET (list RedisDatabases belonging to a Project), POST (create a RedisDatabase), GET (list Registries belonging to a Project), POST (create a Registry), GET (list Services belonging to a Project), GET (list Stacks belonging to a Project), and GET (list Volumes belonging to a Project).
- The type of the
redisDatabaseId path parameter has changed from 'string'/'uuid' to 'string' for the following operations: DELETE (delete a RedisDatabase), GET (get a RedisDatabase), PATCH (update a RedisDatabase's configuration), and PATCH (update a RedisDatabase's description).
- The type of the
serverId path parameter has changed from 'string'/'uuid' to 'string' for the following operations: DELETE (delete a Server's avatar), POST (request a Server avatar upload), PATCH (update a Server's description), and POST (create a Project belonging to a Server).
- The type of the
serviceId path parameter has changed from 'string'/'uuid' to 'string' for the following operations: GET (get a Service belonging to a Stack), POST (pull image for a Service), POST (recreate a Service), POST (restart a Service), POST (start a Service), POST (stop a Service), and GET (get logs belonging to a Service).
- The
dryRun request property has been removed from the PUT operation to update extension pricing.
- The
priceInCents request property has been removed from the PUT operation to update extension pricing.
- The
PUT operation to update extension pricing has added 'subschema #1, subschema #2' to the request body 'oneOf' list.
- The
PUT operation to update extension pricing has added the optional property nextPossiblePriceChange to the response with the '200' status.
- The
PUT operation to update extension pricing has made the response properties extensionId and priceChangeConsequence required for the status '200'.
- The
GET operation to get the contract strategy of an extension instance has added the optional properties variantDescription, variantKey, and variantName to the response with the '200' status.
- The
PUT operation to update or create a contract for existing extension instances has added the new optional request property variantKey.
- A new endpoint has been added for the
POST operation to copy a MySQLDatabase with a MySQLUser.
- The
GET operation to get a Project has added the optional property deletionRequested to the response with the '200' status.
Disclaimer: This summary is AI-generated. If you find any discrepancies, please refer to the detailed changes below.
Developer's note
For a lot of routes, the format of the id parameter has changed from a UUID to a simple string, according to the API Spec. This is only logical, as we enabled resources to be queried using shortId some time ago.
Detailed changes
Changes in "Delete a MySQL database"
- for the 'path' request parameter 'mysqlDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the DELETE/v2/mysql-databases/{mysqlDatabaseId}/ endpoint.
Changes in "Get a MySQL database"
- for the 'path' request parameter 'mysqlDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/mysql-databases/{mysqlDatabaseId}/ endpoint.
Changes in "Update a MySQL database's default character settings"
- for the 'path' request parameter 'mysqlDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/mysql-databases/{mysqlDatabaseId}/default-charset/ endpoint.
Changes in "Update a MySQL database's description"
- for the 'path' request parameter 'mysqlDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/mysql-databases/{mysqlDatabaseId}/description/ endpoint.
Changes in "List MySQL users belonging to a Database"
- for the 'path' request parameter 'mysqlDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/mysql-databases/{mysqlDatabaseId}/users/ endpoint.
Changes in "Create a MySQL user"
- for the 'path' request parameter 'mysqlDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/mysql-databases/{mysqlDatabaseId}/users/ endpoint.
Changes in "Delete a MySQL user"
- for the 'path' request parameter 'mysqlUserId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the DELETE/v2/mysql-users/{mysqlUserId}/ endpoint.
Changes in "Get a MySQL user"
- for the 'path' request parameter 'mysqlUserId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/mysql-users/{mysqlUserId}/ endpoint.
Changes in "Update a MySQL user"
- for the 'path' request parameter 'mysqlUserId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PUT/v2/mysql-users/{mysqlUserId}/ endpoint.
Changes in "Disable a MySQL user"
- for the 'path' request parameter 'mysqlUserId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/mysql-users/{mysqlUserId}/actions/disable/ endpoint.
Changes in "Enable a MySQL user"
- for the 'path' request parameter 'mysqlUserId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/mysql-users/{mysqlUserId}/actions/enable/ endpoint.
Changes in "Update a MySQL user's password"
- for the 'path' request parameter 'mysqlUserId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/mysql-users/{mysqlUserId}/password/ endpoint.
Changes in "Get a MySQL user's PhpMyAdmin-URL"
- for the 'path' request parameter 'mysqlUserId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/mysql-users/{mysqlUserId}/php-my-admin-url/ endpoint.
Changes in "Delete a project backup"
- for the 'path' request parameter 'projectBackupId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the DELETE/v2/project-backups/{projectBackupId}/ endpoint.
Changes in "Get a project backup"
- for the 'path' request parameter 'projectBackupId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/project-backups/{projectBackupId}/ endpoint.
Changes in "Change the description of a project backup"
- for the 'path' request parameter 'projectBackupId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/project-backups/{projectBackupId}/description/ endpoint.
Changes in "Delete a project backup export"
- for the 'path' request parameter 'projectBackupId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the DELETE/v2/project-backups/{projectBackupId}/export/ endpoint.
Changes in "Export a project backup for download"
- for the 'path' request parameter 'projectBackupId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/project-backups/{projectBackupId}/export/ endpoint.
Changes in "Get a Project"
-
for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
-
added the optional property 'deletionRequested' to the response with the '200' status
For details, refer to the GET/v2/projects/{projectId}/ endpoint.
Changes in "Delete a Project's avatar"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the DELETE/v2/projects/{projectId}/avatar/ endpoint.
Changes in "Request a Project avatar upload"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/projects/{projectId}/avatar/ endpoint.
Changes in "List backup schedules belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/backup-schedules/ endpoint.
Changes in "Create a backup schedule for a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/projects/{projectId}/backup-schedules/ endpoint.
Changes in "List Backups belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/backups/ endpoint.
Changes in "Create a Backup of a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/projects/{projectId}/backups/ endpoint.
Changes in "Update a Project's description"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/projects/{projectId}/description/ endpoint.
Changes in "Get a Project directory filesystem usage"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/filesystem-disk-usage/ endpoint.
Changes in "Get a Project file's content"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/filesystem-file-content/ endpoint.
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/filesystem-files/ endpoint.
Changes in "List MySQL databases belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/mysql-databases/ endpoint.
Changes in "Create a MySQL database with a MySQL user"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/projects/{projectId}/mysql-databases/ endpoint.
Changes in "List Redis databases belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/redis-databases/ endpoint.
Changes in "Create a Redis database"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/projects/{projectId}/redis-databases/ endpoint.
Changes in "List Registries belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/registries/ endpoint.
Changes in "Create a Registry"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/projects/{projectId}/registries/ endpoint.
Changes in "List Services belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/services/ endpoint.
Changes in "List Stacks belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/stacks/ endpoint.
Changes in "List Volumes belonging to a Project"
- for the 'path' request parameter 'projectId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/projects/{projectId}/volumes/ endpoint.
Changes in "Delete a Redis database"
- for the 'path' request parameter 'redisDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the DELETE/v2/redis-databases/{redisDatabaseId}/ endpoint.
Changes in "Get a Redis database"
- for the 'path' request parameter 'redisDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/redis-databases/{redisDatabaseId}/ endpoint.
Changes in "Update a Redis database's configuration"
- for the 'path' request parameter 'redisDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/redis-databases/{redisDatabaseId}/configuration/ endpoint.
Changes in "Update a Redis database's description"
- for the 'path' request parameter 'redisDatabaseId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/redis-databases/{redisDatabaseId}/description/ endpoint.
Changes in "Delete a Server's avatar"
- for the 'path' request parameter 'serverId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the DELETE/v2/servers/{serverId}/avatar/ endpoint.
Changes in "Request a Server avatar upload"
- for the 'path' request parameter 'serverId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/servers/{serverId}/avatar/ endpoint.
- for the 'path' request parameter 'serverId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the PATCH/v2/servers/{serverId}/description/ endpoint.
Changes in "Create a Project belonging to a Server"
- for the 'path' request parameter 'serverId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/servers/{serverId}/projects/ endpoint.
Changes in "Get a Service belonging to a Stack"
- for the 'path' request parameter 'serviceId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/stacks/{stackId}/services/{serviceId}/ endpoint.
Changes in "Pulls the latest version of the Service's image and optionally recreates the Service"
- for the 'path' request parameter 'serviceId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/stacks/{stackId}/services/{serviceId}/actions/pull/ endpoint.
Changes in "Recreate a Service"
- for the 'path' request parameter 'serviceId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/stacks/{stackId}/services/{serviceId}/actions/recreate/ endpoint.
Changes in "Restart a started Service"
- for the 'path' request parameter 'serviceId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/stacks/{stackId}/services/{serviceId}/actions/restart/ endpoint.
Changes in "Start a stopped Service"
- for the 'path' request parameter 'serviceId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/stacks/{stackId}/services/{serviceId}/actions/start/ endpoint.
Changes in "Stop a started Service"
- for the 'path' request parameter 'serviceId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the POST/v2/stacks/{stackId}/services/{serviceId}/actions/stop/ endpoint.
Changes in "Get logs belonging to a Service"
- for the 'path' request parameter 'serviceId', the type/format was changed from 'string'/'uuid' to 'string'/''
For details, refer to the GET/v2/stacks/{stackId}/services/{serviceId}/logs/ endpoint.
Changes in "Get the Contract Strategy of an Extension Instance"
-
added the optional property '/oneOf[#/components/schemas/de.mittwald.v1.extension.SubscriptionBasedContract]/variantDescription' to the response with the '200' status
-
added the optional property '/oneOf[#/components/schemas/de.mittwald.v1.extension.SubscriptionBasedContract]/variantKey' to the response with the '200' status
-
added the optional property '/oneOf[#/components/schemas/de.mittwald.v1.extension.SubscriptionBasedContract]/variantName' to the response with the '200' status
For details, refer to the GET/v2/extension-instances/{extensionInstanceId}/contract/ endpoint.
Changes in "Update or Create Contract for existing Extension Instances"
- added the new optional request property 'variantKey'
For details, refer to the PUT/v2/extension-instances/{extensionInstanceId}/contract/ endpoint.
Changes in "Copy a MySQL database with a MySQL user"
For details, refer to the POST/v2/mysql-databases/{mysqlDatabaseId}/actions/copy/ endpoint.
Client package releases
mittwald PHP SDK Release v2.1.155
The latest release of the mittwald PHP SDK, version 2.1.155, introduces several updates and improvements.
Features
- A new property
deletionRequested has been added to the Project schema. This boolean property indicates whether a deletion request for a project has been made.
Changes
API Request Modifications
- The
format: uuid specification has been removed from several request properties to simplify API interactions. This affects the following requests:
CreateProjectRequest.serverId
DeleteProjectAvatarRequest.projectId
DeleteServerAvatarRequest.serverId
GetProjectRequest.projectId
RequestProjectAvatarUploadRequest.projectId
RequestServerAvatarUploadRequest.serverId
UpdateProjectDescriptionRequest.projectId
UpdateServerDescriptionRequest.serverId
ProjectFileSystemGetDiskUsageRequest.projectId
ProjectFileSystemGetFileContentRequest.projectId
ProjectFileSystemListFilesRequest.projectId
Project Schema Update
- The
deletionRequested property has been added, allowing clients to check if a project deletion has been requested.
Constructor and Method Updates
- The Project class now includes methods to manage the
deletionRequested property:
getDeletionRequested(): Retrieves the current value.
withDeletionRequested(bool $deletionRequested): Sets the value.
withoutDeletionRequested(): Removes the flag.
For more details, visit the release page.
mittwald PHP SDK Release v2.1.154
The latest release of the mittwald PHP SDK, v2.1.154, introduces new features and improvements to enhance database management capabilities.
Features
- New Database Copying Functionality: This release adds a feature to copy MySQL databases along with their associated users via a dedicated API endpoint. It includes comprehensive handling for various scenarios such as successful operations, bad requests, and rate limit exceedances.
Bug Fixes and Improvements
- The
format property for uuid has been removed from several request schemas within the Backup and Database clients, including:
CreateProjectBackupRequest
CreateProjectBackupExportRequest
CreateProjectBackupScheduleRequest
- Other related database operations handling client requests.
New Endpoints
- Copy MySQL Database Endpoint:
- Introduces the ability to copy a MySQL database with associated user creation.
- Implements related request and response classes to handle operations, including:
CopyMysqlDatabaseRequest
CopyMysqlDatabaseCreatedResponse
CopyMysqlDatabaseBadRequestResponse
CopyMysqlDatabaseNotFoundResponse
CopyMysqlDatabaseTooManyRequestsResponse
CopyMysqlDatabaseDefaultResponse
These updates provide a robust setup for managing MySQL databases and enhance the existing API capabilities.
mittwald PHP SDK Release v2.1.153
The latest release of the mittwald PHP SDK, version 2.1.153, introduces several new features and changes aimed at enhancing the management of extension pricing and variants.
Features
- Variant Handling in Extension Pricing: This release adds support for managing different price plans and variants of extensions. Users can now specify a
variantKey when updating an extension instance and choose pricing options based on price plans.
Changes
-
Extension Update Requests:
ExtensionUpdateExtensionInstanceContractRequest: Introduces a new variantKey property, essential for extensions with multiple variants.
ExtensionUpdateExtensionPricingRequest: Updated to support two alternative request bodies for specifying a price in cents or selecting a price plan, with added validations.
-
Responses:
ExtensionUpdateExtensionPricingOKResponse: Includes a new nextPossiblePriceChange property to indicate the next valid time for price changes.
-
Data Models:
- New classes such as
PricePlan, Variant, and VariantDescriptionChangeType have been introduced to handle price plans and variant descriptions.
SubscriptionBasedContract: Enhanced with new properties for extended variant information.
-
Validation Enhancements: Improved validation logic to ensure the integrity of inputs related to price plans and variants.
-
Miscellaneous: Code refactoring for better clarity and maintainability, including improvements in cloning and JSON serialization.
For more details, visit the release page.
mittwald JavaScript SDK Release 4.242.0
The mittwald JavaScript SDK has been updated to version 4.242.0. This release includes an update to the generated client, enhancing the SDK's functionality. For more details, you can view the release on GitHub: mittwald JavaScript SDK 4.242.0.
mittwald JavaScript SDK Release 4.241.0
The mittwald JavaScript SDK has been updated to version 4.241.0. This release includes an update to the generated client, enhancing the SDK's functionality. For more details, you can view the release on GitHub: mittwald JavaScript SDK 4.241.0.
mittwald JavaScript SDK Release 4.240.0
The mittwald JavaScript SDK has been updated to version 4.240.0. This release includes an update to the generated client, enhancing the SDK's functionality. For more details, you can view the release on GitHub: mittwald JavaScript SDK 4.240.0.
mittwald JavaScript SDK Release 4.239.0
The mittwald JavaScript SDK has been updated to version 4.239.0. This release includes an update to the generated client, enhancing the SDK's functionality. For more details, you can view the release on GitHub here.