asyncapi: 2.6.0 info: title: Cryostat WebSocket Notifications version: 5.0.0-SNAPSHOT description: Real-time notifications emitted by Cryostat for various events including recording lifecycle, target discovery, diagnostic operations, and more. Clients connect to the WebSocket endpoint and receive notifications as JSON messages. contact: name: Cryostat Development Team url: https://cryostat.io email: cryostat-development@googlegroups.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: production: url: ws://localhost:8181/api/notifications protocol: ws description: WebSocket notification endpoint channels: /api/notifications: description: Subscribe to receive all Cryostat notifications subscribe: summary: Subscribe to Cryostat notifications description: Clients connect to this WebSocket endpoint to receive real-time notifications about events occurring in Cryostat. message: oneOf: - $ref: '#/components/messages/ActiveRecordingCreated' - $ref: '#/components/messages/ActiveRecordingDeleted' - $ref: '#/components/messages/ActiveRecordingStopped' - $ref: '#/components/messages/ArchiveRecordingFailure' - $ref: '#/components/messages/ArchiveRecordingSuccess' - $ref: '#/components/messages/CredentialsDeleted' - $ref: '#/components/messages/CredentialsStored' - $ref: '#/components/messages/CredentialsUpdated' - $ref: '#/components/messages/ExpressionCreated' - $ref: '#/components/messages/ExpressionDeleted' - $ref: '#/components/messages/ExpressionUpdated' - $ref: '#/components/messages/GrafanaUploadFailure' - $ref: '#/components/messages/GrafanaUploadSuccess' - $ref: '#/components/messages/HeapDumpAnalysisFailure' - $ref: '#/components/messages/HeapDumpAnalysisSuccess' - $ref: '#/components/messages/HeapDumpFailure' - $ref: '#/components/messages/HeapDumpSuccess' - $ref: '#/components/messages/ProbeTemplateApplied' - $ref: '#/components/messages/ProbeTemplateDeleted' - $ref: '#/components/messages/ProbeTemplateUploaded' - $ref: '#/components/messages/ProbesRemoved' - $ref: '#/components/messages/RecordingMetadataUpdated' - $ref: '#/components/messages/RecordingSynthesisComplete' - $ref: '#/components/messages/RecordingSynthesisFailure' - $ref: '#/components/messages/ReportFailure' - $ref: '#/components/messages/ReportSuccess' - $ref: '#/components/messages/RuleCreated' - $ref: '#/components/messages/RuleDeleted' - $ref: '#/components/messages/RuleUpdated' - $ref: '#/components/messages/TargetJvmDiscovery' - $ref: '#/components/messages/TemplateDeleted' - $ref: '#/components/messages/TemplateUploaded' - $ref: '#/components/messages/ThreadDumpFailure' - $ref: '#/components/messages/TriggerCreated' - $ref: '#/components/messages/TriggerDeleted' components: messages: ActiveRecordingCreated: name: ActiveRecordingCreated title: Active Recording Created summary: 'Notification: ActiveRecordingCreated' description: WebSocket notification for Active Recording Created events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ActiveRecordingCreated description: Notification category identifier required: - category message: type: object properties: target: type: string recording: type: object properties: id: type: integer remoteId: type: integer state: type: object description: Payload of type RecordingState duration: type: integer startTime: type: integer archiveOnStop: type: boolean continuous: type: boolean toDisk: type: boolean maxSize: type: integer maxAge: type: integer name: type: string downloadUrl: type: string reportUrl: type: string metadata: type: object properties: labels: type: object additionalProperties: true jvmId: type: string required: - meta - message ActiveRecordingDeleted: name: ActiveRecordingDeleted title: Active Recording Deleted summary: 'Notification: ActiveRecordingDeleted' description: WebSocket notification for Active Recording Deleted events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ActiveRecordingDeleted description: Notification category identifier required: - category message: type: object properties: target: type: string recording: type: object properties: id: type: integer remoteId: type: integer state: type: object description: Payload of type RecordingState duration: type: integer startTime: type: integer archiveOnStop: type: boolean continuous: type: boolean toDisk: type: boolean maxSize: type: integer maxAge: type: integer name: type: string downloadUrl: type: string reportUrl: type: string metadata: type: object properties: labels: type: object additionalProperties: true jvmId: type: string required: - meta - message ActiveRecordingStopped: name: ActiveRecordingStopped title: Active Recording Stopped summary: 'Notification: ActiveRecordingStopped' description: WebSocket notification for Active Recording Stopped events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ActiveRecordingStopped description: Notification category identifier required: - category message: type: object properties: target: type: string recording: type: object properties: id: type: integer remoteId: type: integer state: type: object description: Payload of type RecordingState duration: type: integer startTime: type: integer archiveOnStop: type: boolean continuous: type: boolean toDisk: type: boolean maxSize: type: integer maxAge: type: integer name: type: string downloadUrl: type: string reportUrl: type: string metadata: type: object properties: labels: type: object additionalProperties: true jvmId: type: string required: - meta - message ArchiveRecordingFailure: name: ArchiveRecordingFailure title: Archive Recording Failure summary: 'Notification: ArchiveRecordingFailure' description: WebSocket notification for Archive Recording Failure events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ArchiveRecordingFailure description: Notification category identifier required: - category message: type: object properties: jobId: type: string required: - meta - message ArchiveRecordingSuccess: name: ArchiveRecordingSuccess title: Archive Recording Success summary: 'Notification: ArchiveRecordingSuccess' description: WebSocket notification for Archive Recording Success events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ArchiveRecordingSuccess description: Notification category identifier required: - category message: type: object properties: jobId: type: string recording: type: string reportUrl: type: string downloadUrl: type: string required: - meta - message CredentialsDeleted: name: CredentialsDeleted title: Credentials Deleted summary: 'Notification: CredentialsDeleted' description: WebSocket notification for Credentials Deleted events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: CredentialsDeleted description: Notification category identifier required: - category message: type: object properties: matchExpression: type: object properties: script: type: string required: - meta - message CredentialsStored: name: CredentialsStored title: Credentials Stored summary: 'Notification: CredentialsStored' description: WebSocket notification for Credentials Stored events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: CredentialsStored description: Notification category identifier required: - category message: type: object properties: matchExpression: type: object properties: script: type: string required: - meta - message CredentialsUpdated: name: CredentialsUpdated title: Credentials Updated summary: 'Notification: CredentialsUpdated' description: WebSocket notification for Credentials Updated events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: CredentialsUpdated description: Notification category identifier required: - category message: type: object properties: matchExpression: type: object properties: script: type: string required: - meta - message ExpressionCreated: name: ExpressionCreated title: Expression Created summary: 'Notification: ExpressionCreated' description: WebSocket notification for Expression Created events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ExpressionCreated description: Notification category identifier required: - category message: type: object properties: id: type: integer script: type: string required: - meta - message ExpressionDeleted: name: ExpressionDeleted title: Expression Deleted summary: 'Notification: ExpressionDeleted' description: WebSocket notification for Expression Deleted events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ExpressionDeleted description: Notification category identifier required: - category message: type: object properties: id: type: integer script: type: string required: - meta - message ExpressionUpdated: name: ExpressionUpdated title: Expression Updated summary: 'Notification: ExpressionUpdated' description: WebSocket notification for Expression Updated events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ExpressionUpdated description: Notification category identifier required: - category message: type: object properties: id: type: integer script: type: string required: - meta - message GrafanaUploadFailure: name: GrafanaUploadFailure title: Grafana Upload Failure summary: 'Notification: GrafanaUploadFailure' description: WebSocket notification for Grafana Upload Failure events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: GrafanaUploadFailure description: Notification category identifier required: - category message: type: object properties: jobId: type: string required: - meta - message GrafanaUploadSuccess: name: GrafanaUploadSuccess title: Grafana Upload Success summary: 'Notification: GrafanaUploadSuccess' description: WebSocket notification for Grafana Upload Success events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: GrafanaUploadSuccess description: Notification category identifier required: - category message: type: object properties: jobId: type: string required: - meta - message HeapDumpAnalysisFailure: name: HeapDumpAnalysisFailure title: Heap Dump Analysis Failure summary: 'Notification: HeapDumpAnalysisFailure' description: WebSocket notification for Heap Dump Analysis Failure events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: HeapDumpAnalysisFailure description: Notification category identifier required: - category message: type: object properties: jobId: type: string heapDumpId: type: string required: - meta - message HeapDumpAnalysisSuccess: name: HeapDumpAnalysisSuccess title: Heap Dump Analysis Success summary: 'Notification: HeapDumpAnalysisSuccess' description: WebSocket notification for Heap Dump Analysis Success events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: HeapDumpAnalysisSuccess description: Notification category identifier required: - category message: type: object properties: jobId: type: string jvmId: type: string heapDumpId: type: string required: - meta - message HeapDumpFailure: name: HeapDumpFailure title: Heap Dump Failure summary: 'Notification: HeapDumpFailure' description: WebSocket notification for Heap Dump Failure events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: HeapDumpFailure description: Notification category identifier required: - category message: type: object properties: jobId: type: string required: - meta - message HeapDumpSuccess: name: HeapDumpSuccess title: Heap Dump Success summary: 'Notification: HeapDumpSuccess' description: WebSocket notification for Heap Dump Success events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: HeapDumpSuccess description: Notification category identifier required: - category message: type: object properties: jobId: type: string targetAlias: type: string required: - meta - message ProbeTemplateApplied: name: ProbeTemplateApplied title: Probe Template Applied summary: 'Notification: ProbeTemplateApplied' description: WebSocket notification for Probe Template Applied events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ProbeTemplateApplied description: Notification category identifier required: - category message: type: object properties: jvmId: type: string probeTemplate: type: string required: - meta - message ProbeTemplateDeleted: name: ProbeTemplateDeleted title: Probe Template Deleted summary: 'Notification: ProbeTemplateDeleted' description: WebSocket notification for Probe Template Deleted events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ProbeTemplateDeleted description: Notification category identifier required: - category message: type: object properties: probeTemplate: type: string required: - meta - message ProbeTemplateUploaded: name: ProbeTemplateUploaded title: Probe Template Uploaded summary: 'Notification: ProbeTemplateUploaded' description: WebSocket notification for Probe Template Uploaded events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ProbeTemplateUploaded description: Notification category identifier required: - category message: type: object properties: probeTemplate: type: string templateContent: type: string required: - meta - message ProbesRemoved: name: ProbesRemoved title: Probes Removed summary: 'Notification: ProbesRemoved' description: WebSocket notification for Probes Removed events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ProbesRemoved description: Notification category identifier required: - category message: type: object properties: jvmId: type: string target: type: string required: - meta - message RecordingMetadataUpdated: name: RecordingMetadataUpdated title: Recording Metadata Updated summary: 'Notification: RecordingMetadataUpdated' description: WebSocket notification for Recording Metadata Updated events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: RecordingMetadataUpdated description: Notification category identifier required: - category message: type: object properties: target: type: string recording: type: object properties: id: type: integer remoteId: type: integer state: type: object description: Payload of type RecordingState duration: type: integer startTime: type: integer archiveOnStop: type: boolean continuous: type: boolean toDisk: type: boolean maxSize: type: integer maxAge: type: integer name: type: string downloadUrl: type: string reportUrl: type: string metadata: type: object properties: labels: type: object additionalProperties: true jvmId: type: string required: - meta - message RecordingSynthesisComplete: name: RecordingSynthesisComplete title: Recording Synthesis Complete summary: 'Notification: RecordingSynthesisComplete' description: WebSocket notification for Recording Synthesis Complete events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: RecordingSynthesisComplete description: Notification category identifier required: - category message: type: object properties: jobId: type: string recording: type: object properties: jvmId: type: string name: type: string downloadUrl: type: string reportUrl: type: string metadata: type: object properties: labels: type: object additionalProperties: true size: type: integer archivedTime: type: integer required: - meta - message RecordingSynthesisFailure: name: RecordingSynthesisFailure title: Recording Synthesis Failure summary: 'Notification: RecordingSynthesisFailure' description: WebSocket notification for Recording Synthesis Failure events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: RecordingSynthesisFailure description: Notification category identifier required: - category message: type: object properties: jobId: type: string required: - meta - message ReportFailure: name: ReportFailure title: Report Failure summary: 'Notification: ReportFailure' description: WebSocket notification for Report Failure events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ReportFailure description: Notification category identifier required: - category message: type: object properties: jobId: type: string required: - meta - message ReportSuccess: name: ReportSuccess title: Report Success summary: 'Notification: ReportSuccess' description: WebSocket notification for Report Success events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ReportSuccess description: Notification category identifier required: - category message: type: object properties: jobId: type: string jvmId: type: string required: - meta - message RuleCreated: name: RuleCreated title: Rule Created summary: 'Notification: RuleCreated' description: WebSocket notification for Rule Created events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: RuleCreated description: Notification category identifier required: - category message: type: object properties: id: type: integer name: type: string description: type: string matchExpressionId: type: integer eventSpecifier: type: string archivalPeriodSeconds: type: integer initialDelaySeconds: type: integer preservedArchives: type: integer maxAgeSeconds: type: integer maxSizeBytes: type: integer metadata: type: object properties: labels: type: object additionalProperties: true enabled: type: boolean required: - meta - message RuleDeleted: name: RuleDeleted title: Rule Deleted summary: 'Notification: RuleDeleted' description: WebSocket notification for Rule Deleted events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: RuleDeleted description: Notification category identifier required: - category message: type: object properties: id: type: integer name: type: string description: type: string matchExpressionId: type: integer eventSpecifier: type: string archivalPeriodSeconds: type: integer initialDelaySeconds: type: integer preservedArchives: type: integer maxAgeSeconds: type: integer maxSizeBytes: type: integer metadata: type: object properties: labels: type: object additionalProperties: true enabled: type: boolean required: - meta - message RuleUpdated: name: RuleUpdated title: Rule Updated summary: 'Notification: RuleUpdated' description: WebSocket notification for Rule Updated events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: RuleUpdated description: Notification category identifier required: - category message: type: object properties: id: type: integer name: type: string description: type: string matchExpressionId: type: integer eventSpecifier: type: string archivalPeriodSeconds: type: integer initialDelaySeconds: type: integer preservedArchives: type: integer maxAgeSeconds: type: integer maxSizeBytes: type: integer metadata: type: object properties: labels: type: object additionalProperties: true enabled: type: boolean required: - meta - message TargetJvmDiscovery: name: TargetJvmDiscovery title: Target Jvm Discovery summary: 'Notification: TargetJvmDiscovery' description: WebSocket notification for Target Jvm Discovery events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: TargetJvmDiscovery description: Notification category identifier required: - category message: type: object properties: event: type: object properties: kind: type: object description: Payload of type EventKind serviceRef: type: object properties: id: type: integer connectUrl: type: object description: Payload of type URI alias: type: string jvmId: type: string labels: type: object additionalProperties: true annotations: type: object properties: platform: type: object additionalProperties: true cryostat: type: object additionalProperties: true agent: type: boolean jvmId: type: string required: - meta - message TemplateDeleted: name: TemplateDeleted title: Template Deleted summary: 'Notification: TemplateDeleted' description: WebSocket notification for Template Deleted events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: TemplateDeleted description: Notification category identifier required: - category message: type: object properties: template: type: string required: - meta - message TemplateUploaded: name: TemplateUploaded title: Template Uploaded summary: 'Notification: TemplateUploaded' description: WebSocket notification for Template Uploaded events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: TemplateUploaded description: Notification category identifier required: - category message: type: object properties: template: type: string required: - meta - message ThreadDumpFailure: name: ThreadDumpFailure title: Thread Dump Failure summary: 'Notification: ThreadDumpFailure' description: WebSocket notification for Thread Dump Failure events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: ThreadDumpFailure description: Notification category identifier required: - category message: type: object properties: jobId: type: string targetId: type: integer required: - meta - message TriggerCreated: name: TriggerCreated title: Trigger Created summary: 'Notification: TriggerCreated' description: WebSocket notification for Trigger Created events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: TriggerCreated description: Notification category identifier required: - category message: type: object additionalProperties: true required: - meta - message TriggerDeleted: name: TriggerDeleted title: Trigger Deleted summary: 'Notification: TriggerDeleted' description: WebSocket notification for Trigger Deleted events payload: type: object description: WebSocket notification message wrapper properties: meta: type: object description: Notification metadata properties: category: type: string const: TriggerDeleted description: Notification category identifier required: - category message: type: object additionalProperties: true required: - meta - message schemas: { }