From c53e6dbf4aad79a9479bb05056096d1d7319534a Mon Sep 17 00:00:00 2001 From: Jennifer Linnenberg Date: Wed, 11 Nov 2026 12:51:11 +0100 Subject: [PATCH 1/2] fix: remove api yaml --- api/openapi-api.yaml | 1143 ------------------------------------------ 1 file changed, 1143 deletions(-) delete mode 100644 api/openapi-api.yaml diff --git a/api/openapi-api.yaml b/api/openapi-api.yaml deleted file mode 100644 index 8aa3387..0000000 --- a/api/openapi-api.yaml +++ /dev/null @@ -1,1143 +0,0 @@ -# Copyright 2026 Schwarz Digits Cloud GmbH & Co. KG -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# For details see https://spec.openapis.org/oas/v3.0.3.html -openapi: 3.0.3 -info: - version: 1beta.0.0 - title: 'STACKIT PubSub API' - description: | - This API provides endpoints for managing PubSubs. - -# For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-api -x-stackit-api: - type: stackit -# For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-scope -x-stackit-scope: - visibility: public - show-as-global: true -# For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-sdk -x-stackit-sdk: - include: true -# For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-cors -x-stackit-cors: - allow_origins_default: - - portal - - backoffice -# For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-portal -x-stackit-portal: - cors: true -# For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-signer -x-stackit-signer: - audience: - - pubsub.stackit.cloud -x-stackit-ratelimit: - rate: 1m - limit: 200 - -servers: - - url: https://api.pubsub.eu01.dev.stackit.cloud - description: Development endpoint in eu01. - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-stage - x-stackit-stage: dev-eu01 - - url: https://api.pubsub.eu01.qa.stackit.cloud - description: QA endpoint in eu01. - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-stage - x-stackit-stage: qa-eu01 - - url: https://api.pubsub.eu01.stackit.cloud - description: Production endpoint in eu01. - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-stage - x-stackit-stage: prd-eu01 - -tags: - - name: topics - description: Operations related to topics. - - name: subscriptions - description: Operations related to subscriptions. - -paths: - /v1beta/projects/{projectId}/regions/{regionId}/topics: - parameters: - - $ref: '#/components/parameters/projectId' - - $ref: '#/components/parameters/regionId' - get: - operationId: list-topics - description: Returns a list of all topics within the PubSub project. - parameters: - - $ref: '#/components/parameters/pageToken' - - $ref: '#/components/parameters/pageSize' - - $ref: '#/components/parameters/query' - tags: - - topics - responses: - '200': - description: Successful response with all topics. - content: - application/json: - schema: - $ref: '#/components/schemas/listTopicsResponse' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.list - post: - operationId: create-topic - description: Creates a new topic within the PubSub project. - tags: - - topics - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/createTopicRequest' - responses: - '202': - description: New topic will be created. - content: - application/json: - schema: - $ref: '#/components/schemas/topic' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '409': - $ref: '#/components/responses/conflict' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.create - /v1beta/projects/{projectId}/regions/{regionId}/topics/{topicId}: - parameters: - - $ref: '#/components/parameters/projectId' - - $ref: '#/components/parameters/regionId' - - $ref: '#/components/parameters/topicId' - get: - operationId: get-topic - description: Returns the details for the given topic. - tags: - - topics - responses: - '200': - description: Topic details successfully retrieved. - content: - application/json: - schema: - $ref: '#/components/schemas/topic' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.get - delete: - operationId: delete-topic - description: Deletes the given topic. - parameters: - - $ref: '#/components/parameters/force' - tags: - - topics - responses: - '202': - description: Topic will be deleted. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.delete - patch: - operationId: update-topic - description: Will update the given topic. - tags: - - topics - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/updateTopicRequest' - responses: - '202': - description: Topic will be updated. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '409': - $ref: '#/components/responses/conflict' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.update - - /v1beta/projects/{projectId}/regions/{regionId}/topics/{topicId}/publishers: - parameters: - - $ref: '#/components/parameters/projectId' - - $ref: '#/components/parameters/regionId' - - $ref: '#/components/parameters/topicId' - get: - operationId: list-topic-publishers - description: Returns a list of emailAddresses that are allowed to publish to the given topic. - tags: - - topics - responses: - '200': - description: Successful response with a list of all emailAddresses that are allowed to publish to the given topic. - content: - application/json: - schema: - $ref: '#/components/schemas/listEmailAddressesResponse' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.publisher.list - patch: - operationId: grant-topic-publisher-access - description: Grants an emailAddress access to publish to the given topic. - tags: - - topics - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/addEmailAddressRequest' - responses: - '202': - description: Access to publish to the given topic will be granted. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.publisher.add - put: - operationId: update-publisher-access - description: Updates the access list of email-addresses to publish to the given topic. - tags: - - topics - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/updateEmailAddressesRequest' - responses: - '202': - description: Access to publish to the given topic will be granted. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.publisher.update - - delete: - operationId: revoke-topic-publisher-access - description: Revokes all email-addresses access to publish to the given topic. - tags: - - topics - responses: - '202': - description: Access to publish to the given topic will be revoked. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.topic.publisher.remove - - /v1beta/projects/{projectId}/regions/{regionId}/topics/{topicId}/subscriptions: - parameters: - - $ref: '#/components/parameters/projectId' - - $ref: '#/components/parameters/regionId' - - $ref: '#/components/parameters/topicId' - get: - operationId: list-subscriptions - description: Returns a list of all topic subscriptions. - parameters: - - $ref: '#/components/parameters/pageToken' - - $ref: '#/components/parameters/pageSize' - - $ref: '#/components/parameters/query' - tags: - - subscriptions - responses: - '200': - description: Successful response with all subscriptions. - content: - application/json: - schema: - $ref: '#/components/schemas/listSubscriptionsResponse' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.list - post: - operationId: create-subscription - description: Creates a new subscription for a topic within the PubSub project. - tags: - - subscriptions - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/createSubscriptionRequest' - responses: - '202': - description: Subscription will be created. - content: - application/json: - schema: - $ref: '#/components/schemas/subscription' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '409': - $ref: '#/components/responses/conflict' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.create - - /v1beta/projects/{projectId}/regions/{regionId}/topics/{topicId}/subscriptions/{subscriptionId}: - parameters: - - $ref: '#/components/parameters/projectId' - - $ref: '#/components/parameters/regionId' - - $ref: '#/components/parameters/topicId' - - $ref: '#/components/parameters/subscriptionId' - get: - operationId: get-subscription - description: Returns the details for the given subscription. - tags: - - subscriptions - responses: - '200': - description: Subscription details successfully retrieved. - content: - application/json: - schema: - $ref: '#/components/schemas/subscription' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.get - delete: - operationId: delete-subscription - description: Deletes the given subscription. - parameters: - - $ref: '#/components/parameters/force' - tags: - - subscriptions - responses: - '202': - description: Subscription will be deleted. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '409': - $ref: '#/components/responses/conflict' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.delete - patch: - operationId: update-subscription - description: Will update the given subscription. - tags: - - subscriptions - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/updateSubscriptionRequest' - responses: - '202': - description: Subscription will be updated. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '409': - $ref: '#/components/responses/conflict' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-authorization - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.update - - /v1beta/projects/{projectId}/regions/{regionId}/topics/{topicId}/subscriptions/{subscriptionId}/subscribers: - parameters: - - $ref: '#/components/parameters/projectId' - - $ref: '#/components/parameters/regionId' - - $ref: '#/components/parameters/topicId' - - $ref: '#/components/parameters/subscriptionId' - get: - operationId: list-subscription-subscribers - description: Returns a list of emailAddresses that are allowed to pull from the given subscription. - tags: - - subscriptions - responses: - '200': - description: Successful response with a list of all emailAddresses that are allowed to pull from the given subscription. - content: - application/json: - schema: - $ref: '#/components/schemas/listEmailAddressesResponse' - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.subscriber.list - patch: - operationId: grant-subscription-subscriber-access - description: Grants an emailAddress access to pull from the given subscription. - tags: - - subscriptions - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/addEmailAddressRequest' - responses: - '202': - description: Access to pull from the given subscription will be granted. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.subscriber.add - put: - operationId: update-subscription-subscriber-access - description: Updates the access list of emailAddresses to pull from the given subscription. - tags: - - subscriptions - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/updateEmailAddressesRequest' - responses: - '202': - description: Access to pull from the given Subscription will be granted. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.subscriber.update - delete: - operationId: revoke-subscription-subscriber-access - description: Revokes all email-addresses access to pull from the given subscription. - tags: - - subscriptions - responses: - '202': - description: Access to pull from the given subscription will be revoked. - '400': - $ref: '#/components/responses/badRequest' - '401': - $ref: '#/components/responses/unauthorized' - '403': - $ref: '#/components/responses/forbidden' - '404': - $ref: '#/components/responses/notFound' - '422': - $ref: '#/components/responses/unprocessable' - '429': - $ref: '#/components/responses/tooManyRequests' - '500': - $ref: '#/components/responses/internalServerError' - x-stackit-authorization: - resource-id-type: dynamic - resource-id: projectId - resource-type: project - actions: - - pubsub.subscription.subscriber.remove - -components: - parameters: - projectId: - name: projectId - description: The STACKIT portal project UUID the resource is located in. - schema: - type: string - format: uuid - minLength: 36 - maxLength: 36 - in: path - required: true - regionId: - name: regionId - description: The STACKIT region name the resource is located in. - schema: - type: string - enum: - - eu01 - in: path - required: true - topicId: - name: topicId - description: The topic UUID. - schema: - type: string - format: uuid - minLength: 36 - maxLength: 36 - in: path - required: true - subscriptionId: - name: subscriptionId - description: The subscription UUID. - schema: - type: string - format: uuid - minLength: 36 - maxLength: 36 - in: path - required: true - pageToken: - name: pageToken - in: query - description: A token to retrieve the next page of results. - required: false - allowEmptyValue: true - schema: - type: string - maxLength: 1024 - pageSize: - name: pageSize - in: query - description: Maximum number of items to return - required: false - schema: - type: integer - format: int32 - default: 10 - minimum: 1 - maximum: 100 - force: - name: force - in: query - required: false - schema: - type: boolean - default: false - description: | - If true, deletes the topic and all its active subscriptions (cascading delete). - If false (default), the operation returns a 409 conflict if active subscriptions exist. - query: - name: query - in: query - description: Supply a query string to filter the results. - required: false - allowEmptyValue: true - schema: - type: string - maximum: 1024 - responses: - badRequest: # HTTP 400 - description: Bad Request. The data provided by the client did not match expectations. - unauthorized: # HTTP 401 - description: Unauthorized. You may have provided no or wrong credentials. - forbidden: # HTTP 403 - description: Forbidden. You are authenticated but do not have sufficient permissions to perform this action. - notFound: # HTTP 404 - description: Not found. The resource has not been found. - conflict: # HTTP 409 - description: Conflict. The resource has been modified by some other client. Please try again. - unprocessable: # HTTP 422: - description: Unprocessable Entity. The request cannot be executed. - tooManyRequests: # HTTP 429 - description: Too Many Requests. You have exceeded the rate limits. - internalServerError: # HTTP 500 - description: Internal server error. The application experienced some unexpected situation. - - schemas: - topic: - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-sdk - x-stackit-sdk: - schema-name: topicResponse - required: - - id - - displayName - - state - - createTime - properties: - id: - type: string - format: uuid - minLength: 36 - maxLength: 36 - description: An auto generated unique id which identifies the resource. - displayName: - type: string - description: The display name is a short name chosen by the user to identify the resource. - minLength: 1 - maxLength: 36 - pattern: '^[a-zA-Z0-9 -]*$' - description: - type: string - description: The description is a longer text chosen by the user to provide more context for the resource. - # NOTE: This maxLength is a protection against payloads which might not have an upper bound. - maxLength: 1024 - settings: - $ref: '#/components/schemas/topicSettings' - labels: - $ref: '#/components/schemas/labels' - state: - type: string - description: The current state of the resource. - enum: - - reconciling - - active - - deleting - createTime: - type: string - format: date-time - maxLength: 128 - description: The point in time the resource was created. - uri: - type: string - description: The URI for reaching the resource. - # NOTE: This maxLength is a protection against payloads which might not have an upper bound. - maxLength: 1024 - - topicSettings: - description: Configuration settings for the topic. - type: object - properties: - retention: - type: string - description: | - The maximum length of time a message is persisted in storage. - Messages older than this duration are automatically discarded/deleted. - - **Format:** - Must be a scalar duration: a number (integer or decimal) followed by a unit ('s', 'm', or 'h'). - - **Constraints:** - - **Minimum:** "1s" - - **Maximum:** "168h" (7 days) - pattern: '^[0-9]+(\.[0-9]+)?(s|m|h)$' - example: "24h" - default: "168h" - acl: - type: array - description: Whitelist of IPs in CIDR notation that can access the topic and its underlying subscriptions. - items: - type: string - format: cidr - example: "192.168.1.0/24" - maxItems: 100 - default: - - "0.0.0.0/0" - example: - - "192.168.1.0/24" - - "192.168.2.0/24" - metrics: - type: boolean - description: Enables or disables metrics collection for the topic. - default: false - serviceLogs: - type: boolean - description: Enables or disables sending of service logs for the topic. - default: false - - labels: - description: | - Labels are key-value pairs used to group and organize subsets of resources. - - **Key constraints:** - - May contain an optional domain prefix separated by a slash (`/`). - - The domain prefix must be less than or equal to 250 characters and a valid DNS subdomain containing only lowercase alphanumerics (`[a-z0-9]`) and dashes (`-`), separated by dots (`.`). - - The name part (excluding the domain prefix) must be between 1 and 63 characters long. - - The name part must begin and end with an alphanumeric character (`[a-z0-9A-Z]`). - - The name part may contain dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics in between. - - Keys starting with the prefix `stackit-` or having a domain prefix of `stackit.cloud` (including its subdomains, e.g., `*.stackit.cloud/`) are reserved for system use. - - **Value constraints:** - - Must be less than or equal to 63 characters long (can be empty). - - Must begin and end with an alphanumeric character (`[a-z0-9A-Z]`) if not empty. - - May contain dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics in between. - - **Count constraint:** - - A maximum of 64 labels can be applied per resource. Restricted labels are excluded from this count. - type: object - maxProperties: 64 - additionalProperties: - type: string - nullable: true - maxLength: 63 - example: - environment: "production" - project: "PubSub" - empty-value-label: "" - - listTopicsResponse: - required: - - topics - properties: - topics: - type: array - maxLength: 100 - items: - $ref: '#/components/schemas/topic' - nextPageToken: - type: string - maxLength: 1024 - description: A token to retrieve the next page of results. - - createTopicRequest: - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-sdk - x-stackit-sdk: - schema-name: createTopicPayload - required: - - displayName - properties: - displayName: - type: string - description: The display name is a short name chosen by the user to identify the resource. - minLength: 1 - maxLength: 36 - pattern: '^[a-zA-Z0-9 -]*$' - description: - type: string - description: The description is a longer text chosen by the user to provide more context for the resource. - # NOTE: This maxLength is a protection against payloads which might not have an upper bound. - maxLength: 1024 - settings: - $ref: '#/components/schemas/topicSettings' - labels: - $ref: '#/components/schemas/labels' - - updateTopicRequest: - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-sdk - x-stackit-sdk: - schema-name: updateTopicPayload - properties: - displayName: - type: string - description: The display name is a short name chosen by the user to identify the resource. - minLength: 1 - maxLength: 36 - pattern: '^[a-zA-Z0-9 -]*$' - description: - type: string - description: The description is a longer text chosen by the user to provide more context for the resource. - # NOTE: This maxLength is a protection against payloads which might not have an upper bound. - maxLength: 1024 - settings: - $ref: '#/components/schemas/topicSettings' - labels: - $ref: '#/components/schemas/labels' - addEmailAddressRequest: - x-stackit-sdk: - schema-name: addEmailAddressPayload - required: - - emailAddress - properties: - emailAddress: - type: string - format: email - description: A single RFC 5322 compliant email address. - example: "jane.doe@example.com" - maxLength: 254 - updateEmailAddressesRequest: - x-stackit-sdk: - schema-name: updateEmailAddressesPayload - required: - - emailAddresses - properties: - emailAddresses: - type: array - description: A list of valid subscriber email addresses. - items: - type: string - format: email - description: A single RFC 5322 compliant email address. - example: "jane.doe@example.com" - subscription: - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-sdk - x-stackit-sdk: - schema-name: subscriptionResponse - required: - - id - - displayName - - topicId - - state - - createTime - properties: - id: - type: string - format: uuid - description: An auto generated unique id which identifies the resource. - displayName: - type: string - description: The display name is a short name chosen by the user to identify the resource. - minLength: 1 - maxLength: 36 - pattern: '^[a-zA-Z0-9 -]*$' - topicId: - type: string - format: uuid - description: The id of the topic to which the subscription belongs. - description: - type: string - description: The description is a longer text chosen by the user to provide more context for the resource. - # NOTE: This maxLength is a protection against payloads which might not have an upper bound. - maxLength: 1024 - settings: - $ref: '#/components/schemas/subscriptionSettings' - labels: - $ref: '#/components/schemas/labels' - state: - type: string - description: The current state of the resource. - enum: - - reconciling - - active - - deleting - createTime: - type: string - format: date-time - description: The point in time the resource was created. - - subscriptionSettings: - description: Configuration settings for the subscription. - type: object - properties: - ackDeadline: - type: string - description: | - The maximum amount of time the system waits for a message acknowledgment. - If a message is not acknowledged within this window, it will be redelivered. - - **Format:** - Must be a duration string consisting of a number (integer or decimal) followed by a unit ('s', 'm', or 'h'). - - **Constraints:** - - **Minimum:** "1s" - - **Maximum:** "168h" (7 days) - pattern: '^[0-9]+(\.[0-9]+)?(s|m|h)$' - example: "60s" - default: "2m" - - listSubscriptionsResponse: - required: - - subscriptions - properties: - subscriptions: - type: array - maxLength: 100 - items: - $ref: '#/components/schemas/subscription' - nextPageToken: - type: string - maxLength: 1024 - description: A token to retrieve the next page of results. - - createSubscriptionRequest: - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-sdk - x-stackit-sdk: - schema-name: createSubscriptionPayload - required: - - displayName - properties: - displayName: - type: string - description: The display name is a short name chosen by the user to identify the resource. - minLength: 1 - maxLength: 36 - pattern: '^[a-zA-Z0-9 -]*$' - description: - type: string - description: The description is a longer text chosen by the user to provide more context for the resource. - # NOTE: This maxLength is a protection against payloads which might not have an upper bound. - maxLength: 1024 - settings: - $ref: '#/components/schemas/subscriptionSettings' - labels: - $ref: '#/components/schemas/labels' - - updateSubscriptionRequest: - # For details see https://developers.stackit.schwarz/domains/core-platform/api-management/api-gateway/features/annotations/#x-stackit-sdk - x-stackit-sdk: - schema-name: updateSubscriptionPayload - properties: - displayName: - type: string - description: The display name is a short name chosen by the user to identify the resource. - minLength: 1 - maxLength: 36 - pattern: '^[a-zA-Z0-9 -]*$' - description: - type: string - description: The description is a longer text chosen by the user to provide more context for the resource. - # NOTE: This maxLength is a protection against payloads which might not have an upper bound. - maxLength: 1024 - settings: - $ref: '#/components/schemas/subscriptionSettings' - labels: - $ref: '#/components/schemas/labels' - - listEmailAddressesResponse: - required: - - emailAddresses - properties: - emailAddresses: - type: array - maxItems: 100 - items: - type: string - maxLength: 254 - description: Unique identifier of a user or service account. From 1a460627f5f37ad538d26387eebe9daa995a9cb5 Mon Sep 17 00:00:00 2001 From: Jennifer Linnenberg Date: Wed, 11 Nov 2026 13:32:54 +0100 Subject: [PATCH 2/2] fix: rename --- api/{openapi-dataplane.yaml => openapi.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename api/{openapi-dataplane.yaml => openapi.yaml} (100%) diff --git a/api/openapi-dataplane.yaml b/api/openapi.yaml similarity index 100% rename from api/openapi-dataplane.yaml rename to api/openapi.yaml