Keboola Maintainers API

Manage maintainer records, their members and invitations.

Operations 16

POST /manage/maintainers/{id}/join-maintainer Join maintainer #
GET /manage/maintainers/{id}/users List maintainer users #
POST /manage/maintainers/{id}/users Add a User to maintainer #
GET /manage/maintainers List maintainers #
POST /manage/maintainers Create a maintainer #
GET /manage/maintainers/{id}/invitations List maintainers invitations #
POST /manage/maintainers/{id}/invitations Invite a user to a maintainer #
GET /manage/maintainers/{id} Retrieve a maintainer #
DELETE /manage/maintainers/{id} Delete a maintainer #
PATCH /manage/maintainers/{id} Update a maintainer #
GET /manage/maintainers/{id}/invitations/{invitationId} Maintainer invitation detail #
DELETE /manage/maintainers/{id}/invitations/{invitationId} Cancel maintainer invitation #
DELETE /manage/maintainers/{id}/metadata/{metadataId} Remove maintainer metadata #
GET /manage/maintainers/{id}/metadata List maintainer metadata #
POST /manage/maintainers/{id}/metadata Set maintainer metadata #
DELETE /manage/maintainers/{id}/users/{adminId} Remove a user from maintainer #

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/keboola-maintainers-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

keboola-maintainers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Keboola Connection Management Maintainers API
  description: 'The Keboola Connection Management API covers all tasks required for managing

    projects, plus super-admin features for controlling and monitoring Keboola Connection.


    ## Projects management

    * Create, modify and delete maintainers, organizations and projects

    * Move projects between organizations

    * Define project limits

    * Provision storage backends

    * Access project management activity log


    ## Projects monitoring

    * Monitoring of projects across organizations and maintainers


    ## Super user control and monitoring

    * UI release and deployment

    * Components management

    * Final project delete

    * Workers start/shutdown, etc.


    ## Authentication

    The API authenticates with a personal access token sent in the `X-KBC-ManageApiToken`

    header. Tokens can be created in

    [Account Settings](https://connection.keboola.com/admin/account/change-password)

    in Keboola Connection. A token is tied to an administrator and inherits that

    administrator''s permissions; when the administrator is disabled or deleted, all

    their tokens become invalid.


    ```

    curl -H "X-KBC-ManageApiToken: USER_TOKEN" https://connection.keboola.com/manage/tokens/verify

    ```


    ## Token types

    | Type  | Tied to a user | Token string visible only on create | Description |

    | ----- | -------------- | ----------------------------------- | ----------- |

    | user  | Yes            | Yes                                 | Full access to maintainers, organizations and projects the user can see. |

    | super | No             | Yes                                 | KBC management. Scopes such as `super_ui_deploy`, `super_monitoring` etc. can be limited per-token. |


    Legacy Apiary reference: see the

    [Manage API blueprint](https://github.com/keboola/connection/blob/master/Package/ManageApiPhpClient/apiary.apib)

    for the historical document this OpenAPI spec is migrating from.

    '
  version: '1.0'
servers:
- url: https://connection.keboola.com
  description: AWS US East
- url: https://connection.eu-central-1.keboola.com
  description: AWS EU Central
- url: https://connection.north-europe.azure.keboola.com
  description: Azure North Europe
- url: https://connection.east-us-2.azure.keboola-testing.com
  description: Azure Testing
security:
- StorageKey: []
- ManageKey: []
- BearerAuth: []
tags:
- name: Maintainers
  description: Manage maintainer records, their members and invitations.
paths:
  /manage/maintainers/{id}/join-maintainer:
    post:
      tags:
      - Maintainers
      summary: Join maintainer
      description: Joins the specified maintainer as an administrator.
      operationId: post_/manage/maintainers/{id}/join-maintainer::JoinMaintainerAction
      parameters:
      - name: id
        in: path
        description: Identifier of the maintainer.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      responses:
        '204':
          description: Successfully joined the maintainer.
        '400':
          description: Returned when the user is already a member of this maintainer.
        '404':
          description: Returned when the maintainer does not exist.
  /manage/maintainers/{id}/users:
    get:
      tags:
      - Maintainers
      summary: List maintainer users
      description: Returns all users of the specified maintainer.
      operationId: get_/manage/maintainers/{id}/users::MaintainerListAdministratorsAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      responses:
        '200':
          description: List of maintainer users.
          content:
            application/json:
              schema:
                type: array
                items:
                  properties:
                    id:
                      type: integer
                      example: 23423
                    name:
                      type: string
                      example: Martin Halamicek
                    email:
                      type: string
                      example: martin@keboola.com
                  type: object
              example:
              - id: 23423
                name: Martin Halamicek
                email: martin@keboola.com
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the maintainer does not exist.
    post:
      tags:
      - Maintainers
      summary: Add a User to maintainer
      description: Either `id` or `email` of a user must be set. If the email is not associated with a user, a new account is created and an invitation is sent.
      operationId: post_/manage/maintainers/{id}/users::MaintainerAddAdministratorAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddMaintainerAdministratorRequest'
      responses:
        '200':
          description: Administrator added successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Returned when provided parameters are invalid.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the maintainer does not exist.
  /manage/maintainers:
    get:
      tags:
      - Maintainers
      summary: List maintainers
      description: Returns all maintainers accessible by the manage token.
      operationId: get_/manage/maintainers::MaintainerListAction
      responses:
        '200':
          description: List of maintainers.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MaintainerResponse'
        '401':
          description: Returned when the Manage token is missing or invalid.
    post:
      tags:
      - Maintainers
      summary: Create a maintainer
      description: Creates a new maintainer. The user associated with the token will become an admin of the maintainer.
      operationId: post_/manage/maintainers::MaintainerCreateAction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMaintainerRequest'
      responses:
        '200':
          description: Maintainer created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerResponse'
        '400':
          description: Returned when provided parameters are invalid.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have permission to create maintainers.
  /manage/maintainers/{id}/invitations:
    get:
      tags:
      - Maintainers
      summary: List maintainers invitations
      description: Returns all pending invitations for the specified maintainer.
      operationId: get_/manage/maintainers/{id}/invitations::MaintainerListInvitationsAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      responses:
        '200':
          description: List of invitations.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MaintainerInvitationDetailResponse'
              example:
              - id: 112
                created: 2018-07-10T10:45:11+0200
                user:
                  id: 124
                  name: test user 2
                  email: spam@keboola.com
                creator:
                  id: 123
                  name: test user
                  email: martin@keboola.com
              - id: 113
                created: 2018-07-10T10:50:00+0200
                user:
                  id: 125
                  name: test user 3
                  email: spam@keboola.com
                creator:
                  id: 123
                  name: test user
                  email: martin@keboola.com
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the maintainer does not exist.
    post:
      tags:
      - Maintainers
      summary: Invite a user to a maintainer
      description: Only members of the maintainer and superadmins can invite other users.
      operationId: post_/manage/maintainers/{id}/invitations::MaintainerCreateInvitationAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMaintainerInvitationRequest'
      responses:
        '201':
          description: Invitation created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerInvitationDetailResponse'
        '400':
          description: Returned when the email is missing or the user is already a member or already invited.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the maintainer does not exist.
        '422':
          description: Returned when the provided email address is not a valid email.
  /manage/maintainers/{id}:
    get:
      tags:
      - Maintainers
      summary: Retrieve a maintainer
      description: Returns detail of the specified maintainer.
      operationId: get_/manage/maintainers/{id}::MaintainerDetailAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      responses:
        '200':
          description: Maintainer detail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerDetailResponse'
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the maintainer does not exist.
    delete:
      tags:
      - Maintainers
      summary: Delete a maintainer
      description: Deletes the specified maintainer.
      operationId: delete_/manage/maintainers/{id}::MaintainerDeleteAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      responses:
        '204':
          description: Maintainer deleted successfully.
        '400':
          description: Returned when the maintainer still has organizations and cannot be deleted.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have permission to delete the maintainer.
        '404':
          description: Returned when the maintainer does not exist.
    patch:
      tags:
      - Maintainers
      summary: Update a maintainer
      description: A partial update of a maintainer.
      operationId: patch_/manage/maintainers/{id}::MaintainerUpdateAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMaintainerRequest'
      responses:
        '200':
          description: Maintainer updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerResponse'
        '400':
          description: Returned when provided parameters are invalid.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have permission to update this maintainer.
        '404':
          description: Returned when the maintainer does not exist.
  /manage/maintainers/{id}/invitations/{invitationId}:
    get:
      tags:
      - Maintainers
      summary: Maintainer invitation detail
      description: Returns detail of the specified maintainer invitation.
      operationId: get_/manage/maintainers/{id}/invitations/{invitationId}::MaintainerGetInvitationAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      - name: invitationId
        in: path
        description: Invitation ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 113
      responses:
        '200':
          description: Invitation detail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintainerInvitationDetailResponse'
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the invitation does not exist.
    delete:
      tags:
      - Maintainers
      summary: Cancel maintainer invitation
      description: Cancels a pending invitation to join the specified maintainer.
      operationId: delete_/manage/maintainers/{id}/invitations/{invitationId}::MaintainerDeleteInvitationAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      - name: invitationId
        in: path
        description: Invitation ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 113
      responses:
        '204':
          description: Invitation deleted successfully.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the invitation does not exist.
  /manage/maintainers/{id}/metadata/{metadataId}:
    delete:
      tags:
      - Maintainers
      summary: Remove maintainer metadata
      description: Only maintainer members and super admins can delete metadata.
      operationId: delete_/manage/maintainers/{id}/metadata/{metadataId}::MaintainerDeleteMetadataAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      - name: metadataId
        in: path
        description: Metadata ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 123
      responses:
        '204':
          description: Metadata deleted successfully.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have permission to delete this metadata.
        '404':
          description: Returned when the metadata entry does not exist.
  /manage/maintainers/{id}/metadata:
    get:
      tags:
      - Maintainers
      summary: List maintainer metadata
      description: Only members of the maintainer and super admins can list metadata.
      operationId: get_/manage/maintainers/{id}/metadata::MaintainerListMetadataAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      responses:
        '200':
          description: List of metadata.
          content:
            application/json:
              schema:
                type: array
                items:
                  properties:
                    id:
                      type: integer
                      example: 123
                    provider:
                      type: string
                      example: user
                    timestamp:
                      type: string
                      example: 2021-02-17T15:05:21+0100
                    key:
                      type: string
                      example: KBC.SomeEnity.metadataKey
                    value:
                      type: string
                      example: Some value
                  type: object
              example:
              - id: 123
                provider: user
                timestamp: 2021-02-17T15:05:21+0100
                key: KBC.SomeEnity.metadataKey
                value: Some value
              - id: 124
                provider: user
                timestamp: 2021-02-17T15:05:21+0100
                key: someMetadataKey
                value: Some value
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have permission to list metadata.
        '404':
          description: Returned when the maintainer does not exist.
    post:
      tags:
      - Maintainers
      summary: Set maintainer metadata
      description: 'Sets multiple metadata with one call. If the given key and provider combination already exist

        for the maintainer, the data will be updated with the new value and timestamp.

        Only maintainer members and super admins can change metadata.'
      operationId: post_/manage/maintainers/{id}/metadata::MaintainerSetMetadataAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetMaintainerMetadataRequest'
      responses:
        '201':
          description: Metadata set successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  properties:
                    id:
                      type: integer
                      example: 123
                    provider:
                      type: string
                      example: user
                    timestamp:
                      type: string
                      example: 2021-02-17T15:05:21+0100
                    key:
                      type: string
                      example: KBC.SomeEnity.metadataKey
                    value:
                      type: string
                      example: Some value
                  type: object
              example:
              - id: 123
                provider: user
                timestamp: 2021-02-17T15:05:21+0100
                key: KBC.SomeEnity.metadataKey
                value: Some value
              - id: 124
                provider: user
                timestamp: 2021-02-17T15:05:21+0100
                key: someMetadataKey
                value: Some value
        '400':
          description: Returned when the provided metadata is invalid.
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have permission to set metadata.
        '404':
          description: Returned when the maintainer does not exist.
  /manage/maintainers/{id}/users/{adminId}:
    delete:
      tags:
      - Maintainers
      summary: Remove a user from maintainer
      description: Removes a user from the specified maintainer.
      operationId: delete_/manage/maintainers/{id}/users/{adminId}::MaintainerRemoveAdministratorAction
      parameters:
      - name: id
        in: path
        description: Maintainer ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      - name: adminId
        in: path
        description: User ID.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
        example: 1
      responses:
        '204':
          description: Administrator removed successfully.
        '400':
          description: Returned when the administrator cannot be removed (e.g., last member).
        '401':
          description: Returned when the Manage token is missing or invalid.
        '403':
          description: Returned when the token does not have access to the maintainer.
        '404':
          description: Returned when the maintainer or administrator does not exist.
components:
  schemas:
    MaintainerDetailResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/MaintainerResponse'
    MaintainerResponse:
      required:
      - id
      - name
      - created
      - organizations
      properties:
        id:
          description: Maintainer identifier.
          type: integer
          example: 123
        name:
          description: Maintainer name.
          type: string
          example: Keboola CZ
        created:
          description: Maintainer creation timestamp.
          type: string
          format: date-time
          example: '2014-11-11T08:40:51.620Z'
        defaultConnectionMysqlId:
          description: Default MySQL connection identifier.
          type:
          - integer
          - 'null'
          example: 234
        defaultConnectionSnowflakeId:
          description: Default Snowflake connection identifier.
          type:
          - integer
          - 'null'
          example: 242
        defaultConnectionSynapseId:
          description: Default Synapse connection identifier.
          type:
          - integer
          - 'null'
          example: 235
        defaultConnectionExasolId:
          description: Default Exasol connection identifier.
          type:
          - integer
          - 'null'
          example: 236
        defaultConnectionBigqueryId:
          description: Default BigQuery connection identifier.
          type:
          - integer
          - 'null'
          example: 236
        defaultConnectionTeradataId:
          description: Default Teradata connection identifier.
          type:
          - integer
          - 'null'
          example: 236
        defaultFileStorageId:
          description: Default file storage identifier.
          type:
          - integer
          - 'null'
          example: null
        zendeskUrl:
          description: Zendesk URL for this maintainer.
          type:
          - string
          - 'null'
          example: https://keboola.zendesk.com
        organizations:
          description: List of organizations belonging to this maintainer.
          type: array
          items:
            properties:
              id:
                description: Organization identifier.
                type: integer
                example: 12
              name:
                description: Organization name.
                type: string
                example: My Awesome Organization
            type: object
      type: object
      example:
        id: 123
        name: Keboola CZ
        created: '2014-11-11T08:40:51.620Z'
        defaultConnectionMysqlId: 234
        defaultConnectionSnowflakeId: 242
        defaultConnectionSynapseId: 235
        defaultConnectionExasolId: 236
        defaultConnectionTeradataId: 236
        defaultConnectionBigqueryId: 236
        defaultFileStorageId: null
        zendeskUrl: https://keboola.zendesk.com
        organizations:
        - id: 12
          name: My Awesome Organization
    AddMaintainerAdministratorRequest:
      properties:
        id:
          description: User ID.
          type:
          - integer
          - 'null'
          example: 7234
        email:
          description: User email.
          type:
          - string
          - 'null'
          format: email
          example: martin@keboola.com
      type: object
      example:
        email: martin@keboola.com
    CreateMaintainerRequest:
      required:
      - name
      properties:
        name:
          description: Maintainer name.
          type: string
          example: Example
        defaultConnectionMysqlId:
          description: Default MySQL connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionSnowflakeId:
          description: Default Snowflake connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionSynapseId:
          description: Default Synapse connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionExasolId:
          description: Default Exasol connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionBigqueryId:
          description: Default BigQuery connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionTeradataId:
          description: Default Teradata connection ID.
          type:
          - integer
          - 'null'
          example: 324
        zendeskUrl:
          description: Zendesk URL.
          type:
          - string
          - 'null'
          example: https://keboola.zendesk.com
        defaultFileStorageId:
          description: Default file storage ID.
          type:
          - integer
          - 'null'
          example: 456
      type: object
      example:
        name: Example
        defaultConnectionSnowflakeId: 324
        zendeskUrl: https://keboola.zendesk.com
    MaintainerInvitationDetailResponse:
      required:
      - id
      - user
      - creator
      properties:
        id:
          description: Invitation identifier.
          type: integer
          example: 113
        created:
          description: Invitation creation timestamp (ISO 8601 with `+HHMM` offset).
          type:
          - string
          - 'null'
          example: 2018-07-10T10:50:00+0200
        user:
          description: Invited user.
          properties:
            id:
              type: integer
              example: 125
            name:
              type: string
              example: test user 3
            email:
              type: string
              example: spam@keboola.com
          type: object
        creator:
          description: User who created the invitation.
          properties:
            id:
              type: integer
              example: 123
            name:
              type: string
              example: test user
            email:
              type: string
              example: martin@keboola.com
          type: object
      type: object
      example:
        id: 113
        created: 2018-07-10T10:50:00+0200
        user:
          id: 125
          name: test user 3
          email: spam@keboola.com
        creator:
          id: 123
          name: test user
          email: martin@keboola.com
    UserResponse:
      required:
      - id
      - name
      - email
      - mfaEnabled
      - features
      - canAccessLogs
      - isSuperAdmin
      properties:
        id:
          description: User identifier.
          type: integer
          example: 2
        name:
          description: User full name.
          type: string
          example: Martin
        email:
          description: User email address.
          type: string
          example: martin@keboola.com
        mfaEnabled:
          description: Whether MFA is enabled for the user.
          type: boolean
          example: true
        features:
          description: List of assigned features.
          type: array
          items:
            type: string
          example:
          - inline-manual
        canAccessLogs:
          description: Whether the user can access logs.
          type: boolean
          example: true
        isSuperAdmin:
          description: Whether the user has super admin privileges.
          type: boolean
          example: true
      type: object
      example:
        id: 2
        name: Martin
        email: martin@keboola.com
        mfaEnabled: true
        features:
        - inline-manual
        canAccessLogs: true
        isSuperAdmin: true
    UpdateMaintainerRequest:
      properties:
        name:
          description: Maintainer name.
          type:
          - string
          - 'null'
          example: Example
        defaultConnectionMysqlId:
          description: Default MySQL connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionSnowflakeId:
          description: Default Snowflake connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionSynapseId:
          description: Default Synapse connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionExasolId:
          description: Default Exasol connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionBigqueryId:
          description: Default BigQuery connection ID.
          type:
          - integer
          - 'null'
          example: 324
        defaultConnectionTeradataId:
          description: Default Teradata connection ID.
          type:
          - integer
          - 'null'
          example: 324
        zendeskUrl:
          description: Zendesk URL.
          type:
          - string
          - 'null'
          example: https://keboola.zendesk.com
        defaultFileStorageId:
          description: Default file storage ID.
          type:
          - integer
          - 'null'
          example: 456
      type: object
      example:
        name: Example
        defaultConnectionSnowflakeId: 324
        zendeskUrl: https://keboola.zendesk.com
    CreateMaintainerInvitationRequest:
      required:
      - email
      properties:
        email:
          description: Email of an invited user.
          type: string
          format: email
          example: martin@keboola.com
      type: object
      example:
        email: martin@keboola.com
    SetMaintainerMetadataRequest:
      required:
      - provider
      - metadata
      properties:
        provider:
          description: Metadata provider. Only super admin can change `system` metadata.
          type: string
          example: user
          enum:
          - user
          - system
        metadata:
          description: Array of metadata objects.
          type: array
          items:
            req

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/keboola/refs/heads/main/openapi/keboola-maintainers-api-openapi.yml