openapi: 3.0.1 info: contact: email: support@aiven.io name: Aiven support team url: https://aiven.io/support-services title: Aiven API Documentation Account Upgrade_pipeline API version: v1 x-logo: altText: Aiven logo backgroundColor: '#fafafa' href: https://api.aiven.io/doc url: https://aiven.io/assets/img/aiven-logo.png description: "# Introduction\n\n[Direct link to openapi.json](https://api.aiven.io/doc/openapi.json) for use with external tools\n\n[Aiven](https://aiven.io) is a modern fully-managed open source data platform for streaming, storing, and analyzing data on any public cloud. On Aiven Platform, you can operate your data infrastructure with a few devops tools: [Aiven Console](https://console.aiven.io/), [Aiven Terraform Provider](https://aiven.io/docs/tools/terraform), [Aiven CLI](https://github.com/aiven/aiven-client), and [Aiven Operator for Kubernetes](https://github.com/aiven/aiven-operator). All of them are built on an open secure powerful REST API for integration with custom tooling.\n\nThe Aiven [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer) API\nprovides programmatic access to Aiven.io services. To call the Aiven API, you can use either CLI tools (for example, `cURL` or [Aiven CLI client](https://aiven.io/docs/tools/cli)) or GUI tools, such as the [Aiven public API Postman collection](https://www.postman.com/aiven-apis).\n\nThis Aiven API documentation will help you operate your Aiven organization, projects, or services programmatically by integrating your applications and processes with Aiven.\n\n# Description\n\nAiven's APIs ([Application Programming Interfaces](https://en.wikipedia.org/wiki/API)) power its platform for data management. Aiven has a number of REST APIs that can help you build strong and robust data infrastructure for your applications.\n\nThe Aiven API is organized around core resources. Each core resource has multiple endpoints, which can be interacted with using different HTTP methods.\n\n## Core resources\n\n### Platform APIs\n\n
This endpoint may be changed or removed at any time. Don''t use it in production environments.
Customer must have write access to both source and destination projects (read-only is not enough). Both services must belong to the organization in the URL (and thus the same organization). Initial validation is seeded based on the destination service type pinned release.
' x-badges: - name: Experimental position: after color: '#787885' x-experimental: true parameters: - $ref: '#/components/parameters/organization_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpgradePipelineStepCreateRequestBody' example: auto_validation_delay_days: 7 destination_project_name: prod-project destination_service_name: pg-prod source_project_name: dev-project source_service_name: pg-dev responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UpgradePipelineStepCreateResponse' '403': description: Upgrade pipeline is not enabled for the destination project content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - upgrade_pipeline_not_enabled_for_project title: Machine processable error code. Clients must be prepared to handle new codes. description: 'upgrade_pipeline_not_enabled_for_project: Upgrade pipeline is not enabled for the destination project' '404': description: Project not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - project_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'project_not_found: Project not found' '409': description: Destination already has a source content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - upgrade_step_destination_already_has_source title: Machine processable error code. Clients must be prepared to handle new codes. description: 'upgrade_step_destination_already_has_source: Destination service already has a source service' security: - tokenAuth: [] oauth2: - accounts:read - projects:write get: summary: List upgrade steps tags: - Upgrade_pipeline operationId: UpgradePipelineStepList description: 'This endpoint may be changed or removed at any time. Don''t use it in production environments.
List upgrade steps in the organization.
' x-badges: - name: Experimental position: after color: '#787885' x-experimental: true parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/upgradepipelinesteplist_cursor' - $ref: '#/components/parameters/upgradepipelinesteplist_limit' - $ref: '#/components/parameters/upgradepipelinesteplist_source_project_name' - $ref: '#/components/parameters/upgradepipelinesteplist_source_service_name' - $ref: '#/components/parameters/upgradepipelinesteplist_destination_project_name' - $ref: '#/components/parameters/upgradepipelinesteplist_destination_service_name' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UpgradePipelineStepListResponse' '404': description: Organization not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - accounts:read - projects:read /organization/{organization_id}/upgrade-pipeline/steps/{step_id}: delete: summary: Delete an upgrade step tags: - Upgrade_pipeline operationId: UpgradePipelineStepDelete description: 'This endpoint may be changed or removed at any time. Don''t use it in production environments.
Customer must have write access to both source and destination projects (read-only is not enough). Both services must belong to the organization in the URL (and thus the same organization).
' x-badges: - name: Experimental position: after color: '#787885' x-experimental: true parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/step_id' responses: '204': description: Delete an upgrade step content: {} '404': description: Upgrade step not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - upgrade_step_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'upgrade_step_not_found: Upgrade step not found' security: - tokenAuth: [] oauth2: - accounts:read - projects:write get: summary: Get details of a specific upgrade step tags: - Upgrade_pipeline operationId: UpgradePipelineStepGet description: 'This endpoint may be changed or removed at any time. Don''t use it in production environments.
Customer must have access to both source and destination projects.
' x-badges: - name: Experimental position: after color: '#787885' x-experimental: true parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/step_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UpgradePipelineStepGetResponse' '404': description: Upgrade step not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - upgrade_step_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'upgrade_step_not_found: Upgrade step not found' security: - tokenAuth: [] oauth2: - accounts:read - projects:read patch: summary: Update an upgrade step tags: - Upgrade_pipeline operationId: UpgradePipelineStepUpdate description: 'This endpoint may be changed or removed at any time. Don''t use it in production environments.
Customer must have write access to both source and destination projects (read-only is not enough). Both services must belong to the organization in the URL (and thus the same organization). The new auto validation delay in days must be greater than zero.
' x-badges: - name: Experimental position: after color: '#787885' x-experimental: true parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/step_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpgradePipelineStepUpdateRequestBody' example: auto_validation_delay_days: 7 responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UpgradePipelineStepUpdateResponse' '404': description: Upgrade step not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - upgrade_step_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'upgrade_step_not_found: Upgrade step not found' security: - tokenAuth: [] oauth2: - accounts:read - projects:write /project/{project}/service/{service_name}/upgrade-validation: post: summary: Validate upgrade step tags: - Upgrade_pipeline operationId: UpgradePipelineStepValidate description: 'This endpoint may be changed or removed at any time. Don''t use it in production environments.
Validate maintenance level currently running on the given service, unblocking it for any service(s) that are targets of a upgrade pipeline step with this service as the source service. This allows the destination services of the pipeline steps to have all maintenances applied to the source service automatically applied to them.
' x-badges: - name: Experimental position: after color: '#787885' x-experimental: true parameters: - $ref: '#/components/parameters/project' - $ref: '#/components/parameters/service_name' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpgradePipelineStepValidateRequestBody' example: comment: Validated after testing responses: '204': description: Validate upgrade step content: {} '404': description: Project not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - project_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'project_not_found: Project not found' '409': description: Validation not possible due to state of the service content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - upgrade_step_validation_not_possible_due_to_service_state title: Machine processable error code. Clients must be prepared to handle new codes. description: 'upgrade_step_validation_not_possible_due_to_service_state: Upgrade step validation not possible due to service state' security: - tokenAuth: [] oauth2: - services:write components: parameters: upgradepipelinesteplist_destination_project_name: in: query name: destination_project_name description: Filter results by destination project name schema: type: string maxLength: 63 required: false upgradepipelinesteplist_limit: in: query name: limit description: Limit results to this number schema: type: integer minimum: 30 maximum: 999 required: false service_name: in: path name: service_name description: Service name schema: type: string required: true upgradepipelinesteplist_source_project_name: in: query name: source_project_name description: Filter results by source project name schema: type: string maxLength: 63 required: false step_id: in: path name: step_id description: Upgrade step ID schema: type: string enum: - 550e8400-e29b-41d4-a716-446655440000 required: true upgradepipelinesteplist_cursor: in: query name: cursor description: Pagination cursor schema: type: string required: false project: in: path name: project description: Project name schema: type: string required: true upgradepipelinesteplist_destination_service_name: in: query name: destination_service_name description: Filter results by destination service name schema: type: string maxLength: 36 required: false organization_id: in: path name: organization_id description: ID of an organization schema: type: string required: true upgradepipelinesteplist_source_service_name: in: query name: source_service_name description: Filter results by source service name schema: type: string maxLength: 36 required: false schemas: UpgradePipelineStepUpdateRequestBody: type: object description: UpgradePipelineStepUpdateRequestBody properties: auto_validation_delay_days: type: integer minimum: 1 description: Days before automatic validation UpgradePipelineStepValidateRequestBody: type: object description: UpgradePipelineStepValidateRequestBody properties: comment: type: string description: Validation comment UpgradePipelineStepCreateResponse: type: object description: UpgradePipelineStepCreateResponse properties: auto_validation_delay_days: type: integer minimum: 1 description: Days before automatic validation destination_project_name: type: string description: Destination project name destination_service_name: type: string description: Destination service name last_validation: type: object description: Last validation information for an upgrade step. title: Most recent validation (null if no validations exist) properties: comment: type: string description: Validation comment validated_at: type: string maxLength: 36 description: When the validation was created validated_by_user: type: string description: User who created the validation (null for auto-validation) required: - comment - validated_at - validated_by_user source_project_name: type: string description: Source project name source_service_name: type: string description: Source service name step_id: type: string minLength: 36 maxLength: 36 description: Step ID required: - auto_validation_delay_days - destination_project_name - destination_service_name - last_validation - source_project_name - source_service_name - step_id UpgradePipelineStepUpdateResponse: type: object description: UpgradePipelineStepUpdateResponse properties: auto_validation_delay_days: type: integer minimum: 1 description: Days before automatic validation destination_project_name: type: string description: Destination project name destination_service_name: type: string description: Destination service name last_validation: type: object description: Last validation information for an upgrade step. title: Most recent validation (null if no validations exist) properties: comment: type: string description: Validation comment validated_at: type: string maxLength: 36 description: When the validation was created validated_by_user: type: string description: User who created the validation (null for auto-validation) required: - comment - validated_at - validated_by_user source_project_name: type: string description: Source project name source_service_name: type: string description: Source service name step_id: type: string minLength: 36 maxLength: 36 description: Step ID required: - auto_validation_delay_days - destination_project_name - destination_service_name - last_validation - source_project_name - source_service_name - step_id UpgradePipelineStepGetResponse: type: object description: UpgradePipelineStepGetResponse properties: auto_validation_delay_days: type: integer minimum: 1 description: Days before automatic validation destination_project_name: type: string description: Destination project name destination_service_name: type: string description: Destination service name last_validation: type: object description: Last validation information for an upgrade step. title: Most recent validation (null if no validations exist) properties: comment: type: string description: Validation comment validated_at: type: string maxLength: 36 description: When the validation was created validated_by_user: type: string description: User who created the validation (null for auto-validation) required: - comment - validated_at - validated_by_user source_project_name: type: string description: Source project name source_service_name: type: string description: Source service name step_id: type: string minLength: 36 maxLength: 36 description: Step ID required: - auto_validation_delay_days - destination_project_name - destination_service_name - last_validation - source_project_name - source_service_name - step_id UpgradePipelineStepListResponse: type: object description: UpgradePipelineStepListResponse properties: first: type: string description: First page last: type: string description: Last page next: type: string description: Next page prev: type: string description: Previous page steps: type: array description: Steps items: type: object properties: auto_validation_delay_days: type: integer minimum: 1 description: Days before automatic validation destination_project_name: type: string description: Destination project name destination_service_name: type: string description: Destination service name last_validation: type: object description: Last validation information for an upgrade step. title: Most recent validation (null if no validations exist) properties: comment: type: string description: Validation comment validated_at: type: string maxLength: 36 description: When the validation was created validated_by_user: type: string description: User who created the validation (null for auto-validation) required: - comment - validated_at - validated_by_user source_project_name: type: string description: Source project name source_service_name: type: string description: Source service name step_id: type: string minLength: 36 maxLength: 36 description: Step ID required: - auto_validation_delay_days - destination_project_name - destination_service_name - last_validation - source_project_name - source_service_name - step_id total_count: type: integer description: Total number of results required: - steps UpgradePipelineStepCreateRequestBody: type: object description: UpgradePipelineStepCreateRequestBody properties: auto_validation_delay_days: type: integer minimum: 1 description: Days before automatic validation (defaults to 7) destination_project_name: type: string description: Destination project name destination_service_name: type: string description: Destination service name source_project_name: type: string description: Source project name source_service_name: type: string description: Source service name required: - destination_project_name - destination_service_name - source_project_name - source_service_name securitySchemes: tokenAuth: description: 'Header should be of the format `authorization: aivenv1