openapi: 3.2.0 info: title: Chronosphere Grafana Dashboard API version: v1 description: 'Operations tagged GrafanaDashboard across 2 of this provider''s published API definitions: chronosphere-config-v1-openapi3.json, chronosphere-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://{tenant}.chronosphere.io variables: tenant: default: tenant description: tenant ID assigned by the service provider - url: / tags: - name: Grafana Dashboard paths: /api/v1/config/grafana-dashboards: get: operationId: ListGrafanaDashboards parameters: - description: 'Sets the preferred number of items to return per page. If set to `0`, the server will use its default value. Regardless of the value specified, clients must never assume how many items will be returned.' in: query name: page.max_size schema: format: int64 type: integer - description: 'An opaque page token that identifies which page the client should request. An empty value indicates the first page.' in: query name: page.token schema: type: string - description: Filters results by slug, where any GrafanaDashboard with a matching slug in the given list (and matches all other filters) will be returned. in: query name: slugs schema: items: type: string type: array - description: Filters results by bucket_slug, where any GrafanaDashboard with a matching bucket_slug in the given list (and matches all other filters) will be returned. in: query name: bucket_slugs schema: items: type: string type: array - description: Filters results by collection_slug, where any GrafanaDashboard with a matching collection_slug in the given list (and matches all other filters) will be returned. in: query name: collection_slugs schema: items: type: string type: array - description: Filters results by name, where any GrafanaDashboard with a matching name in the given list (and matches all other filters) will be returned. in: query name: names schema: items: type: string type: array - description: 'Optional flag to populate the dashboard_json of the returned dashboards. By default, dashboard_json will be left empty.' in: query name: include_dashboard_json schema: type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/configv1ListGrafanaDashboardsResponse' description: A successful response. '500': content: application/json: schema: $ref: '#/components/schemas/apiError' description: An unexpected error response. default: content: application/json: schema: $ref: '#/components/schemas/genericError' description: An undefined error response. tags: - Grafana Dashboard security: - ApiKeyAuth: [] summary: List grafana dashboards x-summary-source: derived post: operationId: CreateGrafanaDashboard requestBody: content: application/json: schema: $ref: '#/components/schemas/configv1CreateGrafanaDashboardRequest' required: true x-originalParamName: body responses: '200': content: application/json: schema: $ref: '#/components/schemas/configv1CreateGrafanaDashboardResponse' description: A successful response containing the created GrafanaDashboard. '400': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot create the GrafanaDashboard because the request is invalid. '409': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot create the GrafanaDashboard because there is a conflict with an existing GrafanaDashboard. '500': content: application/json: schema: $ref: '#/components/schemas/apiError' description: An unexpected error response. default: content: application/json: schema: $ref: '#/components/schemas/genericError' description: An undefined error response. tags: - Grafana Dashboard security: - ApiKeyAuth: [] summary: Create grafana dashboard x-summary-source: derived servers: - url: https://{tenant}.chronosphere.io variables: tenant: default: tenant description: tenant ID assigned by the service provider /api/v1/config/grafana-dashboards/{slug}: delete: operationId: DeleteGrafanaDashboard parameters: - in: path name: slug required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/configv1DeleteGrafanaDashboardResponse' description: A successful response. '400': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot delete the GrafanaDashboard because it is in use. '404': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot delete the GrafanaDashboard because the slug does not exist. '500': content: application/json: schema: $ref: '#/components/schemas/apiError' description: An unexpected error response. default: content: application/json: schema: $ref: '#/components/schemas/genericError' description: An undefined error response. tags: - Grafana Dashboard security: - ApiKeyAuth: [] summary: Delete grafana dashboard x-summary-source: derived get: operationId: ReadGrafanaDashboard parameters: - in: path name: slug required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/configv1ReadGrafanaDashboardResponse' description: A successful response. '404': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot read the GrafanaDashboard because the slug does not exist. '500': content: application/json: schema: $ref: '#/components/schemas/apiError' description: An unexpected error response. default: content: application/json: schema: $ref: '#/components/schemas/genericError' description: An undefined error response. tags: - Grafana Dashboard security: - ApiKeyAuth: [] summary: Read grafana dashboard x-summary-source: derived put: operationId: UpdateGrafanaDashboard parameters: - in: path name: slug required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigV1UpdateGrafanaDashboardBody' required: true x-originalParamName: body responses: '200': content: application/json: schema: $ref: '#/components/schemas/configv1UpdateGrafanaDashboardResponse' description: A successful response containing the updated GrafanaDashboard. '400': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot update the GrafanaDashboard because the request is invalid. '404': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot update the GrafanaDashboard because the slug does not exist. '409': content: application/json: schema: $ref: '#/components/schemas/apiError' description: Cannot update the GrafanaDashboard because there is a conflict with an existing GrafanaDashboard. '500': content: application/json: schema: $ref: '#/components/schemas/apiError' description: An unexpected error response. default: content: application/json: schema: $ref: '#/components/schemas/genericError' description: An undefined error response. tags: - Grafana Dashboard security: - ApiKeyAuth: [] summary: Update grafana dashboard x-summary-source: derived servers: - url: https://{tenant}.chronosphere.io variables: tenant: default: tenant description: tenant ID assigned by the service provider components: schemas: ConfigV1UpdateGrafanaDashboardBody: properties: create_if_missing: description: If `true`, the GrafanaDashboard will be created if it does not already exist, identified by `slug`. If `false`, an error will be returned if the GrafanaDashboard does not already exist. type: boolean dry_run: description: If `true`, validates the specified configuration without creating or updating the GrafanaDashboard. If the specified configuration is valid, the endpoint returns a partial response without the GrafanaDashboard. If the specified configuration is invalid, the endpoint returns an error. type: boolean grafana_dashboard: allOf: - $ref: '#/components/schemas/configv1GrafanaDashboard' description: The GrafanaDashboard to update. type: object configv1CollectionReference: properties: slug: type: string type: $ref: '#/components/schemas/configv1CollectionReferenceType' type: object configv1CreateGrafanaDashboardRequest: properties: dry_run: description: If `true`, validates the specified configuration without creating the GrafanaDashboard. If the specified configuration is valid, the endpoint returns a partial response without the GrafanaDashboard. If the specified configuration is invalid, the endpoint returns an error. type: boolean grafana_dashboard: allOf: - $ref: '#/components/schemas/configv1GrafanaDashboard' description: The GrafanaDashboard to create. type: object configv1GrafanaDashboard: properties: bucket_slug: description: 'Slug of the bucket the dashboard belongs to. Required if collection_slug is not set.' type: string collection: allOf: - $ref: '#/components/schemas/configv1CollectionReference' description: 'Collection that the monitor belongs to. Required if bucket_slug and collection_slug are not set.' collection_slug: description: 'Slug of the collection the dashboard belongs to. Required if bucket_slug is not set.' type: string created_at: description: Timestamp of when the GrafanaDashboard was created. Cannot be set by clients. format: date-time readOnly: true type: string dashboard_json: description: Required raw JSON of the Grafana dashboard. type: string name: description: The name of the GrafanaDashboard. You can modify this value after the GrafanaDashboard is created. type: string slug: description: The unique identifier of the GrafanaDashboard. If a `slug` isn't provided, one is generated based on the `name` field. You can't modify this field after the GrafanaDashboard is created. type: string updated_at: description: Timestamp of when the GrafanaDashboard was last updated. Cannot be set by clients. format: date-time readOnly: true type: string required: - name type: object configv1UpdateGrafanaDashboardResponse: properties: grafana_dashboard: $ref: '#/components/schemas/configv1GrafanaDashboard' type: object genericError: additionalProperties: true type: object configv1CreateGrafanaDashboardResponse: properties: grafana_dashboard: $ref: '#/components/schemas/configv1GrafanaDashboard' type: object apiError: properties: message: description: An error message describing what went wrong. type: string type: object configv1CollectionReferenceType: enum: - SIMPLE - SERVICE title: Type values must match entitiespb.Collection.CollectionType. type: string configv1ReadGrafanaDashboardResponse: properties: grafana_dashboard: $ref: '#/components/schemas/configv1GrafanaDashboard' type: object configv1DeleteGrafanaDashboardResponse: type: object configv1ListGrafanaDashboardsResponse: properties: grafana_dashboards: items: $ref: '#/components/schemas/configv1GrafanaDashboard' type: array page: $ref: '#/components/schemas/configv1PageResult' type: object configv1PageResult: properties: next_token: description: 'An opaque page token that identifies the next page of items that the client should request. An empty value indicates that there are no more items to return.' type: string type: object ConfigV1UpdateGrafanaDashboardBody_2: type: object properties: grafana_dashboard: $ref: '#/components/schemas/configv1GrafanaDashboard_2' create_if_missing: type: boolean description: If true, the GrafanaDashboard will be created if it does not already exist, identified by slug. If false, an error will be returned if the GrafanaDashboard does not already exist. dry_run: type: boolean description: If true, the GrafanaDashboard isn't created or updated, and no response GrafanaDashboard will be returned. The response will return an error if the given GrafanaDashboard is invalid. configv1CreateGrafanaDashboardRequest_2: type: object properties: grafana_dashboard: $ref: '#/components/schemas/configv1GrafanaDashboard_2' dry_run: type: boolean description: If true, the GrafanaDashboard isn't created, and no response GrafanaDashboard will be returned. The response will return an error if the given GrafanaDashboard is invalid. configv1GrafanaDashboard_2: type: object properties: slug: type: string description: Unique identifier of the GrafanaDashboard. If a `slug` isn't provided, one will be generated based of the `name` field. You can't modify this field after the GrafanaDashboard is created. name: type: string description: Required. Name of the GrafanaDashboard. You can modify this value after the GrafanaDashboard is created. created_at: type: string description: Timestamp of when the GrafanaDashboard was created. Cannot be set by clients. format: date-time readOnly: true updated_at: type: string description: Timestamp of when the GrafanaDashboard was last updated. Cannot be set by clients. format: date-time readOnly: true bucket_slug: type: string description: 'Slug of the bucket the dashboard belongs to. Required if collection_slug is not set.' collection_slug: type: string description: 'Slug of the collection the dashboard belongs to. Required if bucket_slug is not set.' collection: $ref: '#/components/schemas/configv1CollectionReference' dashboard_json: type: string description: Required raw JSON of the Grafana dashboard. apiError_2: type: object properties: code: type: integer description: An optional private error code whose values are undefined. format: int32 message: type: string description: An error message describing what went wrong. configv1CollectionReferenceType_2: type: string description: Type values must match entitiespb.Collection.CollectionType. enum: - SIMPLE - SERVICE configv1PageResult_2: type: object properties: next_token: type: string description: 'Opaque page token which identifies the next page of items which the client should request. An empty next_token indicates that there are no more items to return.' securitySchemes: ApiKeyAuth: description: Chronosphere API token in: header name: API-Token type: apiKey x-refined-from: - chronosphere-config-v1-openapi3.json - chronosphere-openapi.yml