Cast AI Index Recommendations API
IndexRecommendationsAPI provides operations for managing database index recommendations
IndexRecommendationsAPI provides operations for managing database index recommendations
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/kimchi:kimchi-indexrecommendationsapi-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Database Optimizer Index Recommendations API
version: 0.0.1
description: IndexRecommendationsAPI provides operations for managing database index recommendations
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: IndexRecommendationsAPI
description: IndexRecommendationsAPI provides operations for managing database index recommendations
paths:
/database-optimizer/index-advisor/v1alpha/organizations/{organizationId}/databases/{databaseId}/index-recommendations:
get:
tags:
- IndexRecommendationsAPI
summary: List index optimization recommendations
description: 'List index optimization recommendations
Analyzes collected index and execution plan data to provide specific
recommendations for index optimization.'
operationId: IndexRecommendationsAPI_ListIndexRecommendations
parameters:
- name: organizationId
in: path
description: Organization identifier
required: true
schema:
type: string
- name: databaseId
in: path
description: Database ID
required: true
schema:
type: string
- name: page.limit
in: query
description: Defines the number of items that should be returned
schema:
type: string
- name: page.cursor
in: query
description: "Cursor that defines token indicating where to start the next page.\n Empty value indicates to start from beginning of the dataset."
schema:
type: string
- name: recommendationTypes
in: query
description: Recommendation type filter
schema:
type: array
items:
enum:
- RECOMMENDATION_TYPE_UNSPECIFIED
- CREATE_INDEX
- DROP_INDEX
- REBUILD_INDEX
- CONSOLIDATE_INDEXES
type: string
format: enum
- name: fieldMask
in: query
description: Field mask for partial responses
schema:
type: string
format: field-mask
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListIndexRecommendationsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
components:
schemas:
Status:
type: object
properties:
code:
type: integer
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
format: int32
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/GoogleProtobufAny'
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
AffectedQuery:
required:
- templateHash
- queryTemplate
- totalCalls
- totalExecTimeMs
- minExecTimeMs
- meanExecTimeMs
- maxExecTimeMs
type: object
properties:
templateHash:
type: string
description: Template hash of the query
queryTemplate:
type: string
description: Query template (normalised version of the query)
totalCalls:
type: string
description: Total times the query has been executed
totalExecTimeMs:
type: number
description: "Cumulative total execution time for the query\n (-- api-linter: core::0142::time-field-type=disabled\n aip.dev/not-precedent: We need to do this because it's not a timestamp. --)"
format: double
minExecTimeMs:
type: number
description: "Minimum execution time for the query\n (-- api-linter: core::0142::time-field-type=disabled\n aip.dev/not-precedent: We need to do this because it's not a timestamp. --)"
format: double
meanExecTimeMs:
type: number
description: "Mean average execution time for the query\n (-- api-linter: core::0142::time-field-type=disabled\n aip.dev/not-precedent: We need to do this because it's not a timestamp. --)"
format: double
maxExecTimeMs:
type: number
description: "Maximum execution time for the query\n (-- api-linter: core::0142::time-field-type=disabled\n aip.dev/not-precedent: We need to do this because it's not a timestamp. --)"
format: double
description: Query stats for a specific query in a recommendation
IndexRecommendation:
required:
- schemaName
- tableName
- recommendationType
- indexType
- indexSubtype
- columns
- reason
- estimatedImpact
- sql
- createTime
- databaseName
- indexName
- hash
type: object
properties:
schemaName:
type: string
description: Target schema name
tableName:
type: string
description: Target table name
recommendationType:
enum:
- RECOMMENDATION_TYPE_UNSPECIFIED
- CREATE_INDEX
- DROP_INDEX
- REBUILD_INDEX
- CONSOLIDATE_INDEXES
type: string
description: Type of recommendation
format: enum
indexType:
enum:
- INDEX_TYPE_UNSPECIFIED
- BTREE
- HASH
- GIST
- GIN
- SPGIST
- BRIN
type: string
description: Type of index
format: enum
indexSubtype:
enum:
- INDEX_SUBTYPE_UNSPECIFIED
- COMPOSITE
- PARTIAL
- STANDARD
type: string
description: Index subtype
format: enum
columns:
type: array
items:
type: string
description: Target columns
reason:
type: string
description: Reason for action
estimatedImpact:
type: string
description: Estimated impact
sql:
type: string
description: Suggested SQL for action
createTime:
type: string
description: Creation timestamp
format: date-time
databaseName:
type: string
description: Target logical database name
indexName:
type: string
description: Target index name
hash:
type: string
description: Recommendation hash
indexDefinition:
type: string
description: Index DDL definition (for DROP recommendations)
affectedQueries:
type: array
items:
$ref: '#/components/schemas/AffectedQuery'
description: Affected queries by the recommendation (create/merge recommendations)
description: Index optimization recommendation
RecommendationSummary:
required:
- totalCreateIndex
- totalDropIndex
- totalCount
type: object
properties:
totalCreateIndex:
type: integer
description: Number of create index recommendations
format: uint32
totalDropIndex:
type: integer
description: Number of drop index recommendations
format: uint32
totalCount:
type: integer
description: Total number of recommendations
format: uint32
description: Recommendations summary
ListIndexRecommendationsResponse:
required:
- items
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/IndexRecommendation'
description: List of index recommendations
nextPageCursor:
type: string
description: Pagination cursor to retrieve the next page
summary:
allOf:
- $ref: '#/components/schemas/RecommendationSummary'
description: Summary statistics
description: Response with index recommendations
GoogleProtobufAny:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
x-provenance:
method: searched
source: https://docs.cast.ai/reference
harvested: '2026-10-20'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.cast.ai/reference/advisorapi_batchgetadvisordatabasestats.md
- https://docs.cast.ai/reference/advisorapi_closeadvisorrecommendation.md
- https://docs.cast.ai/reference/advisorapi_getadvisorcachegroup.md
- https://docs.cast.ai/reference/advisorapi_getadvisordatabase.md
- https://docs.cast.ai/reference/advisorapi_getadvisordatabaseinstance.md
- https://docs.cast.ai/reference/advisorapi_getadvisorrecommendationdetail.md
- https://docs.cast.ai/reference/advisorapi_listadvisorcachegroups.md
- https://docs.cast.ai/reference/advisorapi_listadvisordatabaseinstances.md
- https://docs.cast.ai/reference/advisorapi_listadvisordatabases.md
- https://docs.cast.ai/reference/advisorapi_listadvisorrecommendations.md
- https://docs.cast.ai/reference/advisorapi_listtoprecommendations.md
- https://docs.cast.ai/reference/advisorapi_markadvisordbagentuninstalled.md
- https://docs.cast.ai/reference/advisorapi_reopenadvisorrecommendation.md
- https://docs.cast.ai/reference/advisorapi_resendadvisorvalidationrequest.md
- https://docs.cast.ai/reference/advisorapi_resetadvisorrecommendations.md
- https://docs.cast.ai/reference/cachegroupsapi_getindexadvisorcachegroup.md
- https://docs.cast.ai/reference/cachegroupsapi_listindexadvisorcachegroups.md
- https://docs.cast.ai/reference/cachegroupsapi_sendagentheartbeat.md
- https://docs.cast.ai/reference/cachingapi_createcacherule.md
- https://docs.cast.ai/reference/cachingapi_createproxy.md
- https://docs.cast.ai/reference/cachingapi_deletecacherule.md
- https://docs.cast.ai/reference/cachingapi_exchangeproxystate.md
- https://docs.cast.ai/reference/cachingapi_getinstanceproxycachemetrics.md
- https://docs.cast.ai/reference/cachingapi_getproxycachemetrics.md
- https://docs.cast.ai/reference/cachingapi_getproxycachequeryinsights.md
- https://docs.cast.ai/reference/cachingapi_getproxycachequerytemplate.md
- https://docs.cast.ai/reference/cachingapi_getproxycachesummary.md
- https://docs.cast.ai/reference/cachingapi_getproxyconnectionsmetrics.md
- https://docs.cast.ai/reference/cachingapi_getproxyperformancemetrics.md
- https://docs.cast.ai/reference/cachingapi_getproxyqueries.md
- https://docs.cast.ai/reference/cachingapi_listcacherules.md
- https://docs.cast.ai/reference/cachingapi_reportoperationalmetrics.md
- https://docs.cast.ai/reference/cachingapi_reportpoolingmetrics.md
- https://docs.cast.ai/reference/cachingapi_reportquerymetrics.md
- https://docs.cast.ai/reference/cachingapi_updatecacherule.md
- https://docs.cast.ai/reference/cachingapi_updateproxydatabase.md
- https://docs.cast.ai/reference/databaseinstanceconfigapi_reportdatabaseinstanceconfig.md
- https://docs.cast.ai/reference/databaseinstancesapi_createdatabase.md
- https://docs.cast.ai/reference/databaseinstancesapi_createdatabaseinstance.md
- https://docs.cast.ai/reference/databaseinstancesapi_deletedatabase.md
- https://docs.cast.ai/reference/databaseinstancesapi_deletedatabaseinstance.md
- https://docs.cast.ai/reference/databaseinstancesapi_getcloudsyncstatus.md
- https://docs.cast.ai/reference/databaseinstancesapi_getdatabase.md
- https://docs.cast.ai/reference/databaseinstancesapi_getdatabaseinstancecachingsummary.md
- https://docs.cast.ai/reference/databaseinstancesapi_getdatabaseinstancedetails.md
- https://docs.cast.ai/reference/databaseinstancesapi_getdatabaseinstancehealthmetrics.md
- https://docs.cast.ai/reference/databaseinstancesapi_getdatabaseinstancemetricsfilteroptions.md
- https://docs.cast.ai/reference/databaseinstancesapi_getdatabaseinstancescloudintegrationsummary.md
- https://docs.cast.ai/reference/databaseinstancesapi_listcachingpotentialdatabases.md
- https://docs.cast.ai/reference/databaseinstancesapi_listcloudoptimizationcandidates.md
- https://docs.cast.ai/reference/databaseinstancesapi_listconnectionpoolingcandidates.md
- https://docs.cast.ai/reference/databaseinstancesapi_listdatabaseinstancemembers.md
- https://docs.cast.ai/reference/databaseinstancesapi_listdatabaseinstances.md
- https://docs.cast.ai/reference/databaseinstancesapi_listtopqueryrecommendations.md
- https://docs.cast.ai/reference/databaseinstancesapi_updatedatabaseinstance.md
- https://docs.cast.ai/reference/databasesapi_getcachedatabase.md
- https://docs.cast.ai/reference/databasesapi_listcachedatabases.md
- https://docs.cast.ai/reference/dbagentapi_ingestagentheartbeat.md
- https://docs.cast.ai/reference/dbagentapi_ingestmysqlindexsnapshots.md
- https://docs.cast.ai/reference/dbagentapi_ingestmysqlquerystats.md
- https://docs.cast.ai/reference/dbagentapi_ingestmysqltablesmetadata.md
- https://docs.cast.ai/reference/dbagentapi_ingestpostgresindexsnapshots.md
- https://docs.cast.ai/reference/dbagentapi_ingestpostgresquerystats.md
- https://docs.cast.ai/reference/dbagentapi_ingestpostgrestablesmetadata.md
- https://docs.cast.ai/reference/indexrecommendationsapi_listindexrecommendations.md
- https://docs.cast.ai/reference/indexsnapshotsapi_batchcreateindexsnapshots.md
- https://docs.cast.ai/reference/indexsnapshotsapi_batchcreatemysqlindexsnapshots.md
- https://docs.cast.ai/reference/querystatsapi_batchcreatemysqlquerystats.md
- https://docs.cast.ai/reference/querystatsapi_batchcreatepgquerystats.md
- https://docs.cast.ai/reference/querystatsapi_batchcreatequerystats.md
- https://docs.cast.ai/reference/tablemetadataapi_batchcreatemysqltablesmetadata.md
- https://docs.cast.ai/reference/tablemetadataapi_batchcreatetablesmetadata.md
- https://docs.cast.ai/reference/telemetryapi_ingesttelemetryevents.md
- https://docs.cast.ai/reference/telemetryapi_listtelemetryevents.md
merge:
pages: 74
deduped: 412
conflicts_kept_first: 0