Cast AI Telemetry API
TelemetryAPI provides APIs for ingesting and listing database telemetry events
TelemetryAPI provides APIs for ingesting and listing database telemetry events
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-telemetryapi-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 Telemetry API
version: 0.0.1
description: TelemetryAPI provides APIs for ingesting and listing database telemetry events
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: TelemetryAPI
description: TelemetryAPI provides APIs for ingesting and listing database telemetry events
paths:
/database-optimizer/telemetry/v1alpha/organizations/{organizationId}/events:
post:
tags:
- TelemetryAPI
summary: Ingest telemetry events
description: IngestTelemetryEvents ingests a batch of telemetry events reported by the agent and/or proxy
operationId: TelemetryAPI_IngestTelemetryEvents
parameters:
- name: organizationId
in: path
description: Organization identifier
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IngestTelemetryEventsRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IngestTelemetryEventsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
get:
tags:
- TelemetryAPI
summary: List telemetry events
description: ListTelemetryEvents lists previously ingested telemetry events
operationId: TelemetryAPI_ListTelemetryEvents
parameters:
- name: organizationId
in: path
description: Organization identifier
required: true
schema:
type: string
- name: databaseInstanceId
in: query
description: 'Optional filter: only return events for the given database instance'
schema:
type: string
- name: component
in: query
description: 'Optional filter: only return events emitted by the given component'
schema:
type: string
- name: issueId
in: query
description: 'Optional filter: only return events for the given issue id'
schema:
type: string
- name: status
in: query
description: 'Optional filter: only return events with the given status'
schema:
enum:
- TELEMETRY_STATUS_UNSPECIFIED
- TELEMETRY_STATUS_FAILED
- TELEMETRY_STATUS_WARNING
- TELEMETRY_STATUS_OK
type: string
format: enum
- 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
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListTelemetryEventsResponse'
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).'
IngestTelemetryEventsResponse:
type: object
properties: {}
description: Response from ingesting telemetry events
TelemetryEvent:
type: object
properties:
id:
readOnly: true
type: string
description: Identifier of the event
organizationId:
readOnly: true
type: string
description: Organization identifier
databaseInstanceId:
readOnly: true
type: string
description: Identifier of the database instance the event is associated with
component:
readOnly: true
enum:
- COMPONENT_UNSPECIFIED
- COMPONENT_DB_AGENT
- COMPONENT_DB_PROXY
type: string
description: Component that emitted the event
format: enum
issueId:
readOnly: true
type: string
description: Stable identifier of the underlying issue
status:
readOnly: true
enum:
- TELEMETRY_STATUS_UNSPECIFIED
- TELEMETRY_STATUS_FAILED
- TELEMETRY_STATUS_WARNING
- TELEMETRY_STATUS_OK
type: string
description: Status of the telemetry event / issue check
format: enum
databaseId:
readOnly: true
type: string
description: Identifier of the database the event is associated with, if any
databaseName:
readOnly: true
type: string
description: Human readable name of the database the event is associated with, if any
message:
readOnly: true
type: string
description: Optional detailed event message
createTime:
readOnly: true
type: string
description: Time the event was ingested
format: date-time
description: TelemetryEvent is a stored telemetry event returned by the listing API
ListTelemetryEventsResponse:
required:
- events
type: object
properties:
events:
type: array
items:
$ref: '#/components/schemas/TelemetryEvent'
description: Telemetry events matching the request
nextPage:
allOf:
- $ref: '#/components/schemas/Page'
description: Next page cursor for pagination; null when there are no more results
description: Response from listing telemetry events
TelemetryEventRequest:
required:
- issueId
- status
type: object
properties:
issueId:
type: string
description: Stable identifier of the underlying issue
status:
enum:
- TELEMETRY_STATUS_UNSPECIFIED
- TELEMETRY_STATUS_FAILED
- TELEMETRY_STATUS_WARNING
- TELEMETRY_STATUS_OK
type: string
description: Status of the telemetry event / issue check
format: enum
databaseName:
type: string
description: "Human readable name of the database the event is associated with. Optional when the\n event is scoped to a specific database instance"
message:
type: string
description: Optional detailed event message supplied by the client
description: "TelemetryEventRequest is a single event payload supplied by the agent when\n ingesting a new telemetry event"
Page:
type: object
properties:
limit:
type: string
description: Defines the number of items that should be returned
cursor:
type: string
description: "Cursor that defines token indicating where to start the next page.\n Empty value indicates to start from beginning of the dataset."
description: Page defines how many and which fields should be returned.
IngestTelemetryEventsRequest:
required:
- organizationId
- databaseInstanceId
- component
- events
type: object
properties:
organizationId:
type: string
description: Organization identifier
databaseInstanceId:
type: string
description: Identifier of the database instance the events are associated with
component:
enum:
- COMPONENT_UNSPECIFIED
- COMPONENT_DB_AGENT
- COMPONENT_DB_PROXY
type: string
description: Component that emitted the events
format: enum
events:
type: array
items:
$ref: '#/components/schemas/TelemetryEventRequest'
description: Telemetry events to ingest
description: Request to ingest one or more telemetry events
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