YugabyteDB Performance Advisor API

The Performance Advisor API from YugabyteDB — 9 operation(s) for performance advisor.

Operations 10

POST /api/v1/customers/{cUUID}/performance_recommendation_state_change/page List performance recommendations state change audit events (paginated) #
DELETE /api/v1/customers/{cUUID}/performance_recommendations Delete performance recommendations #
POST /api/v1/customers/{cUUID}/performance_recommendations/hide Hide performance recommendations #
POST /api/v1/customers/{cUUID}/performance_recommendations/page List performance recommendations (paginated) #
POST /api/v1/customers/{cUUID}/performance_recommendations/resolve Resolve performance recommendations #
GET /api/v1/customers/{cUUID}/performance_recommendations/{rUUID} Get performance recommendation details #
GET /api/v1/customers/{cUUID}/universes/{uniUUID}/last_run Get last performance advisor run details #
GET /api/v1/customers/{cUUID}/universes/{uniUUID}/perf_advisor_settings Get universe performance advisor settings #
POST /api/v1/customers/{cUUID}/universes/{uniUUID}/perf_advisor_settings Update universe performance advisor settings #
POST /api/v1/customers/{cUUID}/universes/{uniUUID}/start_manually Start performance advisor run for universe #

Documentation

Specifications

Other Resources

🔗
CLI
https://github.com/yugabyte/ybm-cli
🔗
Integrations
https://github.com/yugabyte/terraform-provider-ybm
🔗
TermsOfService
https://www.yugabyte.com/yugabytedb-managed-service-terms/
🔗
SDKs
https://github.com/yugabyte/platform-go-client
🔗
Integrations
https://github.com/yugabyte/terraform-provider-yba
🔗
Integrations
https://github.com/yugabyte/yugabyte-k8s-operator
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybuniverse.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-backup.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-backup-schedule.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-restore-job.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-storage-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-dr-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-pitr-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-release.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-support-bundle.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybcertificate.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybprovider.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybplatform.yaml

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/yugabytedb-performance-advisor-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

yugabytedb-performance-advisor-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Yugabytedb Performance Advisor API
  version: v1
  contact:
    name: https://docs.yugabyte.com
  license:
    name: Polyform Free Trial License 1.0.0
    url: https://github.com/yugabyte/yugabyte-db/blob/master/licenses/POLYFORM-FREE-TRIAL-LICENSE-1.0.0.txt
  termsOfService: TODO(chirag)
  x-refined-note:
  - x-source differs across the merged source definitions and was not carried
  - x-split-from differs across the merged source definitions and was not carried
  description: 'Operations tagged Performance Advisor across 3 of this provider''s published API definitions: openapi_2.yaml, yugabytedb-anywhere-v1-alerts-monitoring.yaml, yugabytedb-anywhere-v1-full.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: /
tags:
- name: Performance Advisor
paths:
  /api/v1/customers/{cUUID}/performance_recommendation_state_change/page:
    post:
      description: 'WARNING: This is a preview API that could change.'
      operationId: pageAuditInfo
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StateChangeAuditInfoPagedQuery'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateChangeAuditInfoPagedResponse'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: List performance recommendations state change audit events (paginated)
      tags:
      - Performance Advisor
      x-codegen-request-body-name: PageStateChangeAuditInfoRequest
    servers:
    - url: /
  /api/v1/customers/{cUUID}/performance_recommendations:
    delete:
      description: 'WARNING: This is a preview API that could change.'
      operationId: delete
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PerformanceRecommendationFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPSuccess'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Delete performance recommendations
      tags:
      - Performance Advisor
      x-codegen-request-body-name: DeletePerformanceRecommendationsRequest
    servers:
    - url: /
  /api/v1/customers/{cUUID}/performance_recommendations/hide:
    post:
      description: YbaApi Internal.
      operationId: hide
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PerformanceRecommendationFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPSuccess'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Hide performance recommendations
      tags:
      - Performance Advisor
      x-codegen-request-body-name: HidePerformanceRecommendationsRequest
    servers:
    - url: /
  /api/v1/customers/{cUUID}/performance_recommendations/page:
    post:
      description: 'WARNING: This is a preview API that could change.'
      operationId: page
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PerformanceRecommendationPagedQuery'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerformanceRecommendationPagedResponse'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: List performance recommendations (paginated)
      tags:
      - Performance Advisor
      x-codegen-request-body-name: PagePerformanceRecommendationRequest
    servers:
    - url: /
  /api/v1/customers/{cUUID}/performance_recommendations/resolve:
    post:
      description: YbaApi Internal.
      operationId: resolve
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PerformanceRecommendationFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPSuccess'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Resolve performance recommendations
      tags:
      - Performance Advisor
      x-codegen-request-body-name: ResolvePerformanceRecommendationsRequest
    servers:
    - url: /
  /api/v1/customers/{cUUID}/performance_recommendations/{rUUID}:
    get:
      description: 'WARNING: This is a preview API that could change.'
      operationId: get
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: rUUID
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerformanceRecommendation'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Get performance recommendation details
      tags:
      - Performance Advisor
    servers:
    - url: /
  /api/v1/customers/{cUUID}/universes/{uniUUID}/last_run:
    get:
      description: 'WARNING: This is a preview API that could change.'
      operationId: getLatestRun
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: uniUUID
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPSuccess'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Get last performance advisor run details
      tags:
      - Performance Advisor
    servers:
    - url: /
  /api/v1/customers/{cUUID}/universes/{uniUUID}/perf_advisor_settings:
    get:
      description: 'WARNING: This is a preview API that could change.'
      operationId: getSettings
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: uniUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerfAdvisorSettingsWithDefaults'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Get universe performance advisor settings
      tags:
      - Performance Advisor
    post:
      description: 'WARNING: This is a preview API that could change.'
      operationId: updateSettings
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: uniUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PerfAdvisorSettingsFormData'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPSuccess'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Update universe performance advisor settings
      tags:
      - Performance Advisor
      x-codegen-request-body-name: PerformanceAdvisorSettingsRequest
    servers:
    - url: /
  /api/v1/customers/{cUUID}/universes/{uniUUID}/start_manually:
    post:
      description: 'WARNING: This is a preview API that could change.'
      operationId: runPerfAdvisor
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: uniUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerfAdvisorManualRunStatus'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Start performance advisor run for universe
      tags:
      - Performance Advisor
    servers:
    - url: /
components:
  schemas:
    StateChangeAuditInfo:
      example:
        new: true
        fieldName: fieldName
        customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        previousValue: previousValue
        userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        updatedValue: updatedValue
        timestamp: 0
      properties:
        customerId:
          format: uuid
          type: string
        fieldName:
          type: string
        id:
          format: uuid
          type: string
        new:
          type: boolean
        previousValue:
          type: string
        timestamp:
          format: int64
          type: integer
        updatedValue:
          type: string
        userId:
          format: uuid
          type: string
      required:
      - customerId
      - fieldName
      - id
      - new
      - previousValue
      - timestamp
      - updatedValue
      - userId
      type: object
    StateChangeAuditInfoPagedResponse:
      example:
        entities:
        - new: true
          fieldName: fieldName
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          previousValue: previousValue
          userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          updatedValue: updatedValue
          timestamp: 0
        - new: true
          fieldName: fieldName
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          previousValue: previousValue
          userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          updatedValue: updatedValue
          timestamp: 0
        hasPrev: true
        hasNext: true
        totalCount: 6
      properties:
        entities:
          items:
            $ref: '#/components/schemas/StateChangeAuditInfo'
          type: array
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        totalCount:
          format: int32
          type: integer
      required:
      - entities
      - hasNext
      - hasPrev
      - totalCount
      type: object
    PerfAdvisorSettingsFormData:
      example:
        cpu_skew_interval_mins: 1
        hot_shard_interval_mins: 1
        query_skew_min_queries: 1
        query_skew_interval_mins: 1
        cpu_usage_interval_mins: 1
        hot_shard_write_skew_threshold_pct: 1.1231513536777256
        rejected_conn_interval_mins: 1
        connection_skew_threshold_pct: 1.1465812980502945
        enabled: true
        universe_frequency_mins: 5
        hot_shard_min_node_writes: 1
        hot_shard_read_skew_threshold_pct: 1.7386281948385884
        cpu_skew_min_usage_pct: 1.5637376656633328
        hot_shard_min_node_reads: 1
        cpu_usage_threshold: 1.9301444243932577
        cpu_skew_threshold_pct: 1.2302135886934766
        query_skew_threshold_pct: 1.684685269835264
        rejected_conn_threshold: 1
        connection_skew_min_connections: 1
        connection_skew_interval_mins: 1
      properties:
        connection_skew_interval_mins:
          description: Perf advisor connection skew check interval
          format: int32
          minimum: 1
          type: integer
        connection_skew_min_connections:
          description: Perf advisor connection skew min connections
          format: int32
          minimum: 1
          type: integer
        connection_skew_threshold_pct:
          description: Perf advisor connection skew threshold
          format: double
          minimum: 1
          type: number
        cpu_skew_interval_mins:
          description: Perf advisor cpu skew check interval
          format: int32
          minimum: 1
          type: integer
        cpu_skew_min_usage_pct:
          description: Perf advisor cpu skew min cpu usage
          format: double
          minimum: 1
          type: number
        cpu_skew_threshold_pct:
          description: Perf advisor cpu skew threshold
          format: double
          minimum: 1
          type: number
        cpu_usage_interval_mins:
          description: Perf advisor CPU usage check interval
          format: int32
          minimum: 1
          type: integer
        cpu_usage_threshold:
          description: Perf advisor CPU usage threshold
          format: double
          minimum: 1
          type: number
        enabled:
          description: Enable/disable perf advisor runs for the universe
          type: boolean
        hot_shard_interval_mins:
          description: Perf Advisor hot shard check interval
          format: int32
          minimum: 1
          type: integer
        hot_shard_min_node_reads:
          description: Perf advisor hot shard minimal node reads
          format: int32
          minimum: 1
          type: integer
        hot_shard_min_node_writes:
          description: Perf advisor hot shard minimal node writes
          format: int32
          minimum: 1
          type: integer
        hot_shard_read_skew_threshold_pct:
          description: Perf Advisor hot shard read skew threshold
          format: double
          minimum: 1
          type: number
        hot_shard_write_skew_threshold_pct:
          description: Perf Advisor hot shard write skew threshold
          format: double
          minimum: 1
          type: number
        query_skew_interval_mins:
          description: Perf advisor query skew check interval
          format: int32
          minimum: 1
          type: integer
        query_skew_min_queries:
          description: Perf advisor query skew min queries
          format: int32
          minimum: 1
          type: integer
        query_skew_threshold_pct:
          description: Perf advisor query skew threshold
          format: double
          minimum: 1
          type: number
        rejected_conn_interval_mins:
          description: Perf advisor rejected connections check interval
          format: int32
          minimum: 1
          type: integer
        rejected_conn_threshold:
          description: Perf advisor rejected connections threshold
          format: int32
          minimum: 1
          type: integer
        universe_frequency_mins:
          description: Perf advisor runs frequency, in minutes
          format: int32
          minimum: 5
          type: integer
      type: object
    PerfAdvisorSettingsWithDefaults:
      example:
        defaultSettings:
          cpu_skew_interval_mins: 1
          hot_shard_interval_mins: 1
          query_skew_min_queries: 1
          query_skew_interval_mins: 1
          cpu_usage_interval_mins: 1
          hot_shard_write_skew_threshold_pct: 1.1231513536777256
          rejected_conn_interval_mins: 1
          connection_skew_threshold_pct: 1.1465812980502945
          enabled: true
          universe_frequency_mins: 5
          hot_shard_min_node_writes: 1
          hot_shard_read_skew_threshold_pct: 1.7386281948385884
          cpu_skew_min_usage_pct: 1.5637376656633328
          hot_shard_min_node_reads: 1
          cpu_usage_threshold: 1.9301444243932577
          cpu_skew_threshold_pct: 1.2302135886934766
          query_skew_threshold_pct: 1.684685269835264
          rejected_conn_threshold: 1
          connection_skew_min_connections: 1
          connection_skew_interval_mins: 1
        universeSettings:
          cpu_skew_interval_mins: 1
          hot_shard_interval_mins: 1
          query_skew_min_queries: 1
          query_skew_interval_mins: 1
          cpu_usage_interval_mins: 1
          hot_shard_write_skew_threshold_pct: 1.1231513536777256
          rejected_conn_interval_mins: 1
          connection_skew_threshold_pct: 1.1465812980502945
          enabled: true
          universe_frequency_mins: 5
          hot_shard_min_node_writes: 1
          hot_shard_read_skew_threshold_pct: 1.7386281948385884
          cpu_skew_min_usage_pct: 1.5637376656633328
          hot_shard_min_node_reads: 1
          cpu_usage_threshold: 1.9301444243932577
          cpu_skew_threshold_pct: 1.2302135886934766
          query_skew_threshold_pct: 1.684685269835264
          rejected_conn_threshold: 1
          connection_skew_min_connections: 1
          connection_skew_interval_mins: 1
      properties:
        defaultSettings:
          $ref: '#/components/schemas/PerfAdvisorSettingsFormData'
        universeSettings:
          $ref: '#/components/schemas/PerfAdvisorSettingsFormData'
      type: object
    StateChangeAuditInfoPagedQuery:
      example:
        filter:
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          ids:
          - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          recommendationId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        offset: 6
        needTotalCount: true
        limit: 0
        sortBy: id
        direction: ASC
      properties:
        direction:
          enum:
          - ASC
          - DESC
          type: string
        filter:
          $ref: '#/components/schemas/StateChangeAuditInfoFilter'
        limit:
          format: int32
          type: integer
        needTotalCount:
          type: boolean
        offset:
          format: int32
          type: integer
        sortBy:
          enum:
          - id
          - timestamp
          type: string
      required:
      - direction
      - filter
      - limit
      - needTotalCount
      - offset
      - sortBy
      type: object
    PerformanceRecommendationPagedResponse:
      example:
        entities:
        - new: true
          recommendationPriority: HIGH
          entityType: UNIVERSE
          observation: observation
          stateChangeAuditInfoList:
          - new: true
            fieldName: fieldName
            customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            previousValue: previousValue
            userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            updatedValue: updatedValue
            timestamp: 0
          - new: true
            fieldName: fieldName
            customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            previousValue: previousValue
            userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            updatedValue: updatedValue
            timestamp: 0
          universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          entityNames: entityNames
          recommendation: recommendation
          recommendationTimestamp: 0
          recommendationInfo:
            key: '{}'
          recommendationState: OPEN
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          isStale: true
          recommendationType: UNUSED_INDEX
        - new: true
          recommendationPriority: HIGH
          entityType: UNIVERSE
          observation: observation
          stateChangeAuditInfoList:
          - new: true
            fieldName: fieldName
            customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            previousValue: previousValue
            userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            updatedValue: updatedValue
            timestamp: 0
          - new: true
            fieldName: fieldName
            customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            previousValue: previousValue
            userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            updatedValue: updatedValue
            timestamp: 0
          universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          entityNames: entityNames
          recommendation: recommendation
          recommendationTimestamp: 0
          recommendationInfo:
            key: '{}'
          recommendationState: OPEN
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          isStale: true
          recommendationType: UNUSED_INDEX
        hasPrev: true
        hasNext: true
        totalCount: 6
      properties:
        entities:
          items:
            $ref: '#/components/schemas/PerformanceRecommendation'
          type: array
        hasNext:
          type: boolean
        hasPrev:
          type: boolean
        totalCount:
          format: int32
          type: integer
      required:
      - entities
      - hasNext
      - hasPrev
      - totalCount
      type: object
    PerformanceRecommendationFilter:
      example:
        priorities:
        - HIGH
        - HIGH
        types:
        - UNUSED_INDEX
        - UNUSED_INDEX
        customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        ids:
        - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        createdInstantBefore: 0
        isStale: true
        states:
        - OPEN
        - OPEN
      properties:
        createdInstantBefore:
          format: int64
          type: integer
        customerId:
          format: uuid
          type: string
        ids:
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        isStale:
          type: boolean
        priorities:
          items:
            enum:
            - HIGH
            - MEDIUM
            - LOW
            type: string
          type: array
          uniqueItems: true
        states:
          items:
            enum:
            - OPEN
            - HIDDEN
            - RESOLVED
            type: string
          type: array
          uniqueItems: true
        types:
          items:
            enum:
            - UNUSED_INDEX
            - RANGE_SHARDING
            - QUERY_LOAD_SKEW
            - CONNECTION_SKEW
            - CPU_SKEW
            - CPU_USAGE
            - REJECTED_CONNECTIONS
            - HOT_SHARD
            type: string
          type: array
          uniqueItems: true
        universeId:
          format: uuid
          type: string
      required:
      - createdInstantBefore
      - customerId
      - ids
      - isStale
      - priorities
      - states
      - types
      - universeId
      type: object
    PerformanceRecommendationPagedQuery:
      example:
        filter:
          priorities:
          - HIGH
          - HIGH
          types:
          - UNUSED_INDEX
          - UNUSED_INDEX
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          ids:
          - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          createdInstantBefore: 0
          isStale: true
          states:
          - OPEN
          - OPEN
        offset: 6
        needTotalCount: true
        limit: 0
        sortBy: id
        direction: ASC
      properties:
        direction:
          enum:
          - ASC
          - DESC
          type: string
        filter:
          $ref: '#/components/schemas/PerformanceRecommendationFilter'
        limit:
          format: int32
          type: integer
        needTotalCount:
          type: boolean
        offset:
          format: int32
          type: integer
        sortBy:
          enum:
          - id
          - recommendationType
          - recommendationState
          - recommendationPriority
          - recommendationTimestamp
          type: string
      required:
      - direction
      - filter
      - limit
      - needTotalCount
      - offset
      - sortBy
      type: object
    PerformanceRecommendation:
      example:
        new: true
        recommendationPriority: HIGH
        entityType: UNIVERSE
        observation: observation
        stateChangeAuditInfoList:
        - new: true
          fieldName: fieldName
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          previousValue: previousValue
          userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          updatedValue: updatedValue
          timestamp: 0
        - new: true
          fieldName: fieldName
          customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          previousValue: previousValue
          userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          updatedValue: updatedValue
          timestamp: 0
        universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        entityNames: entityNames
        recommendation: recommendation
        recommendationTimestamp: 0
        recommendationInfo:
          key: '{}'
        recommendationState: OPEN
        customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        isStale: true
        recommendationType: UNUSED_INDEX
      properties:
        customerId:
          format: uuid
          type: string
        entityNames:
          type: string
        entityType:
          enum:
          - UNIVERSE
          - NODE
          - TABLE
          - DATABASE
          - INDEX
          type: string
        id:
          format: uuid
          type: string
        isStale:
          type: boolean
        new:
          type: boolean
        observation:
          type: string
        recommendation:
          type: string
        recommendationInfo:
          additionalProperties:
            properties: {}
            type: object
          type: object
        recommendationPriority:
          enum:
          - HIGH
          - MEDIUM
          - LOW
          type: string
        recommendationState:
          enum:
          - OPEN
          - HIDDEN
          - RESOLVED
          type: string
        recommendationTimestamp:
          format: int64
          type: integer
        recommendationType:
          enum:
          - UNUSED_INDEX
          - RANGE_SHARDING
          - QUERY_LOAD_SKEW
          - CONNECTION_SKEW
          - CPU_SKEW
          - CPU_USAGE
          - REJECTED_CONNECTIONS
          - HOT_SHARD
          type: string
        stateChangeAuditInfoList:
          items:
            $ref: '#/components/schemas/StateChangeAuditInfo'
          type: array
        universeId:
          format: uuid
          type: string
      required:
      - customerId
      - entityNames
      - entityType
      - id
      - isStale
      - new
      - observation
      - recommendation
      - recommendationInfo
      - recommendationPriority
      - recommendationState
      - recommendationTimestamp
      - recommendationType
      - stateChangeAuditInfoList
      - universeId
      type: object
    StateChangeAuditInfoFilter:
      example:
        customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        ids:
        - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        - 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        recommendationId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        customerId:
          format: uuid
          type: string
        ids:
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
        recommendationId:
          format: uuid
          type: string
        userId:
          format: uuid
          type: string
      required:
      - customerId
      - ids
      - recommendationId
      - userId
      type: object
    PerfAdvisorManualRunStatus:
      example:
        activeRun:
          scheduleTime: 2022-12-12 13:07:18+00:00
          universeUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          startTime: 2022-12-12 13:07:18+00:00
          endTime: 2022-12-12 13:07:18+00:00
          state: PENDING
          manual: true
          uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        success: true
        message: message
      properties:
        activeRun:
          $ref: '#/components/schemas/Universe_performance_advisor_status'
        message:
          description: API response message.
          readOnly: true
          type: string
        success:
          description: API operation status. A value of true indicates the operation was successful.
          readOnly: true
          type: boolean
      type: object
    YBPSuccess:
      example:
        success: true
        message: message
      properties:
        message:
          description: API response message.
          readOnly: true
          type: string
        success:
          description: API operation status. A value of true indicates the operation was successful.
          readOnly: true
          type: boolean
      type: object
    Universe_performance_advisor_status:
      example:
        scheduleTime: 2022-12-12 13:07:18+00:00
        universeUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        startTime: 2022-12-12 13:07:18+00:00
        endTime: 2022-12-12 13:07:18+00:00
        state: PENDING
        manual: true
        uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        customerUUID:
          description: Customer UUID
          format: uuid
          readOnly: true
          type: string
        endTime:
          description: Time perf advisor run was finished
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          readOnly: true
          type: string
        manual:
          description: Scheduled or manual run
          readOnly: true
          type: boolean
        scheduleTime:
          description: Time perf advisor run was scheduled
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          readOnly: true
          type: string
        startTime:
          description: Time perf advisor run was started
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          readOnly: true
          type: string
        state:
          description: State
          enum:
          - PENDING
          - RUNNING
          - COMPLETED
          - FAILED
          readOnly: true
          type: string
        universeUUID:
          description: Universe UUID
          format: uuid
          readOnly: true
          type: string
        uuid:
          description: Perf advisor run UUID
          format: uuid
          readOnly: true
          type: string
      required:
      - customerUUID
      - s

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