Aiven Upgrade_pipeline API

The Upgrade_pipeline API from Aiven — 3 operation(s) for upgrade_pipeline.

Operations 6

POST /organization/{organization_id}/upgrade-pipeline/steps Create an upgrade step #
GET /organization/{organization_id}/upgrade-pipeline/steps List upgrade steps #
DELETE /organization/{organization_id}/upgrade-pipeline/steps/{step_id} Delete an upgrade step #
GET /organization/{organization_id}/upgrade-pipeline/steps/{step_id} Get details of a specific upgrade step #
PATCH /organization/{organization_id}/upgrade-pipeline/steps/{step_id} Update an upgrade step #
POST /project/{project}/service/{service_name}/upgrade-validation Validate upgrade step #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aiven-upgrade-pipeline-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aiven-upgrade-pipeline-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@aiven.io
    name: Aiven support team
    url: https://aiven.io/support-services
  title: Aiven API Documentation 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


    Direct link to openapi.json for use with external tools


    Aiven is a modern fully-managed open source data platform for streaming, storing, and analyzing data on any public cloud.'
servers:
- url: https://api.aiven.io/v1
tags:
- name: Upgrade_pipeline
  x-displayName: Upgrade pipeline
paths:
  /organization/{organization_id}/upgrade-pipeline/steps:
    post:
      summary: Create an upgrade step
      tags:
      - Upgrade_pipeline
      operationId: UpgradePipelineStepCreate
      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). 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:
  schemas:
    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
    UpgradePipelineStepValidateRequestBody:
      type: object
      description: UpgradePipelineStepValidateRequestBody
      properties:
        comment:
          type: string
          description: Validation comment
    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
    UpgradePipelineStepUpdateRequestBody:
      type: object
      description: UpgradePipelineStepUpdateRequestBody
      properties:
        auto_validation_delay_days:
          type: integer
          minimum: 1
          description: Days before automatic validation
    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
    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
  parameters:
    upgradepipelinesteplist_destination_service_name:
      in: query
      name: destination_service_name
      description: Filter results by destination service name
      schema:
        type: string
        maxLength: 36
      required: false
    upgradepipelinesteplist_limit:
      in: query
      name: limit
      description: Limit results to this number
      schema:
        type: integer
        minimum: 30
        maximum: 999
      required: false
    upgradepipelinesteplist_source_service_name:
      in: query
      name: source_service_name
      description: Filter results by source service name
      schema:
        type: string
        maxLength: 36
      required: false
    upgradepipelinesteplist_source_project_name:
      in: query
      name: source_project_name
      description: Filter results by source project name
      schema:
        type: string
        maxLength: 63
      required: false
    service_name:
      in: path
      name: service_name
      description: Service name
      schema:
        type: string
      required: true
    project:
      in: path
      name: project
      description: Project name
      schema:
        type: string
      required: true
    step_id:
      in: path
      name: step_id
      description: Upgrade step ID
      schema:
        type: string
        enum:
        - 550e8400-e29b-41d4-a716-446655440000
      required: true
    upgradepipelinesteplist_destination_project_name:
      in: query
      name: destination_project_name
      description: Filter results by destination project name
      schema:
        type: string
        maxLength: 63
      required: false
    organization_id:
      in: path
      name: organization_id
      description: ID of an organization
      schema:
        type: string
      required: true
    upgradepipelinesteplist_cursor:
      in: query
      name: cursor
      description: Pagination cursor
      schema:
        type: string
      required: false
  securitySchemes:
    tokenAuth:
      description: 'Header should be of the format `authorization: aivenv1 <TOKEN>`. Tokens can be obtained from [your Aiven profile page](https://console.aiven.io/profile/auth)'
      scheme: bearer
      type: http
    oauth2:
      type: oauth2
      description: OAuth2 security scheme
      flows:
        authorizationCode:
          authorizationUrl: https://console.aiven.io/oauth/authorize
          tokenUrl: https://api.aiven.io/v1/oauth2/token
          scopes:
            all: Provide full access to the API
            accounts: Allow enumerating and reading accounts configuration
            accounts:read: Allow modifying account configuration
            accounts:write: Provides full access to authentication related API
            authentication: Provides full access to authentication related API
            authentication:read: Allow reading authentication related configuration on resources (user profile, accounts)
            authentication:write: Allow modifying authentication related configurations on resources (user profile, accounts)
            billing: Provide full access to billing APIs
            billing:read: Allow reading billing information and configuration
            billing:write: Allow writing billing configuration
            payments: Provide full access to payment method APIs
            payments:read: Allow reading the payment method configurations
            payments:write: Allows writing payment method configuration
            privatelink: Provide full access to private link APIs
            privatelink:read: Allow enumerating and reading private link items and configurations
            privatelink:write: Allow writing (creating, modifying, deleting) private link items
            projects: Provide full access to projects APIs
            projects:read: Allow enumerating projects and reading their configuration
            projects:write: Allow writing (creating, modifying, deleting) projects
            scim: Provide full access to SCIM operations
            scim:read: Allow reading SCIM endpoints
            scim:write: Allow writing (modifying) SCIM endpoints
            services: Provide full access to services APIs
            services:read: Allow enumerating services and reading their configuration
            services:write: Allow writing (creating, modifying, deleting) services
            static_ips: Provide full access to static IPs APIs
            static_ips:read: Allow enumerating and reading static IP items and configurations
            static_ips:write: Allow writing (creating, modifying, deleting) static IP items
            tickets: Provide full access to support ticket APIs
            tickets:read: Allow enumerating and reading support tickets
            tickets:write: Allow writing (creating, modifying) support tickets
            user: Provide full access to user profile APIs
            user:read: Allow reading user profile and configuration
            user:write: Allow writing (modifying) user profile and configuration
externalDocs:
  description: Aiven CLI client
  url: https://github.com/aiven/aiven-client