grafana/public/api-enterprise-spec.json
Michael Mandrus 4d69213829
CloudMigrations: Break snapshot resources out into their own table (#89575)
* create a new table for migration resources

* remove raw result bytes from db

* more snapshot resource management stuff

* integrate new table with snapshots

* pass in result limit and offset as params

* combine create and update

* set up xorm store test

* add unit tests

* save some cpu

* remove unneeded arg

* regen swagger

* fix bug with result processing

* fix update create logic so that uid isn't required for lookup

* change offset to page

* regen swagger

* revert accidental changes to file

* curl command page should be 1 indexed
2024-06-24 23:50:07 -04:00

9875 lines
259 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"schemes": [
"http",
"https"
],
"swagger": "2.0",
"info": {
"description": "The Grafana backend exposes an HTTP API, the same API is used by the frontend to do\neverything from saving dashboards, creating users and updating data sources.",
"title": "Grafana HTTP API.",
"contact": {
"name": "Grafana Labs",
"url": "https://grafana.com",
"email": "hello@grafana.com"
},
"version": "0.0.1"
},
"basePath": "/api",
"paths": {
"/access-control/assignments/search": {
"post": {
"description": "Returns the result of the search through access-control role assignments.\n\nYou need to have a permission with action `teams.roles:read` on scope `teams:*`\nand a permission with action `users.roles:read` on scope `users:*`.",
"tags": [
"enterprise"
],
"summary": "Debug permissions.",
"operationId": "searchResult",
"responses": {
"200": {
"$ref": "#/responses/searchResultResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/roles": {
"get": {
"description": "Gets all existing roles. The response contains all global and organization local roles, for the organization which user is signed in.\n\nYou need to have a permission with action `roles:read` and scope `roles:*`.\n\nThe `delegatable` flag reduces the set of roles to only those for which the signed-in user has permissions to assign.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Get all roles.",
"operationId": "listRoles",
"parameters": [
{
"type": "boolean",
"name": "delegatable",
"in": "query"
},
{
"type": "boolean",
"name": "includeHidden",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/listRolesResponse"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "Creates a new custom role and maps given permissions to that role. Note that roles with the same prefix as Fixed Roles cant be created.\n\nYou need to have a permission with action `roles:write` and scope `permissions:type:delegate`. `permissions:type:delegate` scope ensures that users can only create custom roles with the same, or a subset of permissions which the user has.\nFor example, if a user does not have required permissions for creating users, they wont be able to create a custom role which allows to do that. This is done to prevent escalation of privileges.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Create a new custom role.",
"operationId": "createRole",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateRoleForm"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/createRoleResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/roles/{roleUID}": {
"get": {
"description": "Get a role for the given UID.\n\nYou need to have a permission with action `roles:read` and scope `roles:*`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Get a role.",
"operationId": "getRole",
"parameters": [
{
"type": "string",
"name": "roleUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/getRoleResponse"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"put": {
"description": "You need to have a permission with action `roles:write` and scope `permissions:type:delegate`. `permissions:type:delegate` scope ensures that users can only create custom roles with the same, or a subset of permissions which the user has.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Update a custom role.",
"operationId": "updateRole",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateRoleCommand"
}
},
{
"type": "string",
"name": "roleUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/getRoleResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"delete": {
"description": "Delete a role with the given UID, and its permissions. If the role is assigned to a built-in role, the deletion operation will fail, unless force query param is set to true, and in that case all assignments will also be deleted.\n\nYou need to have a permission with action `roles:delete` and scope `permissions:type:delegate`. `permissions:type:delegate` scope ensures that users can only delete a custom role with the same, or a subset of permissions which the user has. For example, if a user does not have required permissions for creating users, they wont be able to delete a custom role which allows to do that.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Delete a custom role.",
"operationId": "deleteRole",
"parameters": [
{
"type": "boolean",
"name": "force",
"in": "query"
},
{
"type": "boolean",
"name": "global",
"in": "query"
},
{
"type": "string",
"name": "roleUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/roles/{roleUID}/assignments": {
"get": {
"description": "Get role assignments for the role with the given UID.\n\nYou need to have a permission with action `teams.roles:list` and scope `teams:id:*` and `users.roles:list` and scope `users:id:*`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Get role assignments.",
"operationId": "getRoleAssignments",
"parameters": [
{
"type": "string",
"name": "roleUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/getRoleAssignmentsResponse"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"put": {
"description": "Set role assignments for the role with the given UID.\n\nYou need to have a permission with action `teams.roles:add` and `teams.roles:remove` and scope `permissions:type:delegate`, and `users.roles:add` and `users.roles:remove` and scope `permissions:type:delegate`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Set role assignments.",
"operationId": "setRoleAssignments",
"parameters": [
{
"type": "string",
"name": "roleUID",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SetRoleAssignmentsCommand"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/setRoleAssignmentsResponse"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/status": {
"get": {
"description": "Returns an indicator to check if fine-grained access control is enabled or not.\n\nYou need to have a permission with action `status:accesscontrol` and scope `services:accesscontrol`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Get status.",
"operationId": "getAccessControlStatus",
"responses": {
"200": {
"$ref": "#/responses/getAccessControlStatusResponse"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/teams/roles/search": {
"post": {
"description": "Lists the roles that have been directly assigned to the given teams.\n\nYou need to have a permission with action `teams.roles:read` and scope `teams:id:*`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "List roles assigned to multiple teams.",
"operationId": "listTeamsRoles",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/RolesSearchQuery"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/listTeamsRolesResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/teams/{teamId}/roles": {
"get": {
"description": "You need to have a permission with action `teams.roles:read` and scope `teams:id:\u003cteam ID\u003e`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Get team roles.",
"operationId": "listTeamRoles",
"parameters": [
{
"type": "integer",
"format": "int64",
"name": "teamId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"put": {
"description": "You need to have a permission with action `teams.roles:add` and `teams.roles:remove` and scope `permissions:type:delegate` for each.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Update team role.",
"operationId": "setTeamRoles",
"parameters": [
{
"type": "integer",
"format": "int64",
"name": "teamId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "You need to have a permission with action `teams.roles:add` and scope `permissions:type:delegate`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Add team role.",
"operationId": "addTeamRole",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AddTeamRoleCommand"
}
},
{
"type": "integer",
"format": "int64",
"name": "teamId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/teams/{teamId}/roles/{roleUID}": {
"delete": {
"description": "You need to have a permission with action `teams.roles:remove` and scope `permissions:type:delegate`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Remove team role.",
"operationId": "removeTeamRole",
"parameters": [
{
"type": "string",
"name": "roleUID",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"name": "teamId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/users/roles/search": {
"post": {
"description": "Lists the roles that have been directly assigned to the given users. The list does not include built-in roles (Viewer, Editor, Admin or Grafana Admin), and it does not include roles that have been inherited from a team.\n\nYou need to have a permission with action `users.roles:read` and scope `users:id:*`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "List roles assigned to multiple users.",
"operationId": "listUsersRoles",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/RolesSearchQuery"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/listUsersRolesResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/users/{userId}/roles": {
"get": {
"description": "Lists the roles that have been directly assigned to a given user. The list does not include built-in roles (Viewer, Editor, Admin or Grafana Admin), and it does not include roles that have been inherited from a team.\n\nYou need to have a permission with action `users.roles:read` and scope `users:id:\u003cuser ID\u003e`.",
"tags": [
"access_control",
"enterprise"
],
"summary": "List roles assigned to a user.",
"operationId": "listUserRoles",
"parameters": [
{
"type": "integer",
"format": "int64",
"name": "userId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/getAllRolesResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"put": {
"description": "Update the users role assignments to match the provided set of UIDs. This will remove any assigned roles that arent in the request and add roles that are in the set but are not already assigned to the user.\nIf you want to add or remove a single role, consider using Add a user role assignment or Remove a user role assignment instead.\n\nYou need to have a permission with action `users.roles:add` and `users.roles:remove` and scope `permissions:type:delegate` for each. `permissions:type:delegate` scope ensures that users can only assign or unassign roles which have same, or a subset of permissions which the user has. For example, if a user does not have required permissions for creating users, they wont be able to assign or unassign a role which will allow to do that. This is done to prevent escalation of privileges.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Set user role assignments.",
"operationId": "setUserRoles",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SetUserRolesCommand"
}
},
{
"type": "integer",
"format": "int64",
"name": "userId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "Assign a role to a specific user. For bulk updates consider Set user role assignments.\n\nYou need to have a permission with action `users.roles:add` and scope `permissions:type:delegate`. `permissions:type:delegate` scope ensures that users can only assign roles which have same, or a subset of permissions which the user has. For example, if a user does not have required permissions for creating users, they wont be able to assign a role which will allow to do that. This is done to prevent escalation of privileges.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Add a user role assignment.",
"operationId": "addUserRole",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AddUserRoleCommand"
}
},
{
"type": "integer",
"format": "int64",
"name": "userId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/access-control/users/{userId}/roles/{roleUID}": {
"delete": {
"description": "Revoke a role from a user. For bulk updates consider Set user role assignments.\n\nYou need to have a permission with action `users.roles:remove` and scope `permissions:type:delegate`. `permissions:type:delegate` scope ensures that users can only unassign roles which have same, or a subset of permissions which the user has. For example, if a user does not have required permissions for creating users, they wont be able to unassign a role which will allow to do that. This is done to prevent escalation of privileges.",
"tags": [
"access_control",
"enterprise"
],
"summary": "Remove a user role assignment.",
"operationId": "removeUserRole",
"parameters": [
{
"type": "boolean",
"description": "A flag indicating if the assignment is global or not. If set to false, the default org ID of the authenticated user will be used from the request to remove assignment.",
"name": "global",
"in": "query"
},
{
"type": "string",
"name": "roleUID",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"name": "userId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/admin/ldap-sync-status": {
"get": {
"description": "You need to have a permission with action `ldap.status:read`.",
"tags": [
"ldap_debug",
"enterprise"
],
"summary": "Returns the current state of the LDAP background sync integration.",
"operationId": "getSyncStatus",
"responses": {
"200": {
"$ref": "#/responses/getSyncStatusResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/admin/provisioning/access-control/reload": {
"post": {
"tags": [
"access_control_provisioning",
"enterprise"
],
"summary": "You need to have a permission with action `provisioning:reload` with scope `provisioners:accesscontrol`.",
"operationId": "adminProvisioningReloadAccessControl",
"responses": {
"202": {
"$ref": "#/responses/acceptedResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
}
}
}
},
"/datasources/uid/{uid}/lbac/teams": {
"get": {
"tags": [
"enterprise"
],
"summary": "Retrieves LBAC rules for a team.",
"operationId": "getTeamLBACRulesApi",
"parameters": [
{
"type": "string",
"name": "uid",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"put": {
"tags": [
"enterprise"
],
"summary": "Updates LBAC rules for a team.",
"operationId": "updateTeamLBACRulesApi",
"parameters": [
{
"type": "string",
"name": "uid",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/datasources/{dataSourceUID}/cache": {
"get": {
"description": "get cache config for a single data source",
"tags": [
"enterprise"
],
"operationId": "getDataSourceCacheConfig",
"parameters": [
{
"type": "string",
"name": "dataSourceUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "CacheConfigResponse",
"schema": {
"$ref": "#/definitions/CacheConfigResponse"
}
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "set cache config for a single data source",
"tags": [
"enterprise"
],
"operationId": "setDataSourceCacheConfig",
"parameters": [
{
"type": "string",
"name": "dataSourceUID",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CacheConfigSetter"
}
}
],
"responses": {
"200": {
"description": "CacheConfigResponse",
"schema": {
"$ref": "#/definitions/CacheConfigResponse"
}
},
"400": {
"$ref": "#/responses/badRequestError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/datasources/{dataSourceUID}/cache/clean": {
"post": {
"description": "clean cache for a single data source",
"tags": [
"enterprise"
],
"operationId": "cleanDataSourceCache",
"parameters": [
{
"type": "string",
"name": "dataSourceUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "CacheConfigResponse",
"schema": {
"$ref": "#/definitions/CacheConfigResponse"
}
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/datasources/{dataSourceUID}/cache/disable": {
"post": {
"description": "disable cache for a single data source",
"tags": [
"enterprise"
],
"operationId": "disableDataSourceCache",
"parameters": [
{
"type": "string",
"name": "dataSourceUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "CacheConfigResponse",
"schema": {
"$ref": "#/definitions/CacheConfigResponse"
}
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/datasources/{dataSourceUID}/cache/enable": {
"post": {
"description": "enable cache for a single data source",
"tags": [
"enterprise"
],
"operationId": "enableDataSourceCache",
"parameters": [
{
"type": "string",
"name": "dataSourceUID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "CacheConfigResponse",
"schema": {
"$ref": "#/definitions/CacheConfigResponse"
}
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/licensing/check": {
"get": {
"tags": [
"licensing",
"enterprise"
],
"summary": "Check license availability.",
"operationId": "getStatus",
"responses": {
"200": {
"$ref": "#/responses/getStatusResponse"
}
}
}
},
"/licensing/custom-permissions": {
"get": {
"description": "You need to have a permission with action `licensing.reports:read`.",
"tags": [
"licensing",
"enterprise"
],
"summary": "Get custom permissions report.",
"operationId": "getCustomPermissionsReport",
"deprecated": true,
"responses": {
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/licensing/custom-permissions-csv": {
"get": {
"description": "You need to have a permission with action `licensing.reports:read`.",
"produces": [
"text/csv"
],
"tags": [
"licensing",
"enterprise"
],
"summary": "Get custom permissions report in CSV format.",
"operationId": "getCustomPermissionsCSV",
"deprecated": true,
"responses": {
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/licensing/refresh-stats": {
"get": {
"description": "You need to have a permission with action `licensing:read`.",
"tags": [
"licensing",
"enterprise"
],
"summary": "Refresh license stats.",
"operationId": "refreshLicenseStats",
"responses": {
"200": {
"$ref": "#/responses/refreshLicenseStatsResponse"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/licensing/token": {
"get": {
"description": "You need to have a permission with action `licensing:read`.",
"tags": [
"licensing",
"enterprise"
],
"summary": "Get license token.",
"operationId": "getLicenseToken",
"responses": {
"200": {
"$ref": "#/responses/getLicenseTokenResponse"
}
}
},
"post": {
"description": "You need to have a permission with action `licensing:update`.",
"tags": [
"licensing",
"enterprise"
],
"summary": "Create license token.",
"operationId": "postLicenseToken",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteTokenCommand"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/getLicenseTokenResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
}
}
},
"delete": {
"description": "Removes the license stored in the Grafana database. Available in Grafana Enterprise v7.4+.\n\nYou need to have a permission with action `licensing:delete`.",
"tags": [
"licensing",
"enterprise"
],
"summary": "Remove license from database.",
"operationId": "deleteLicenseToken",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteTokenCommand"
}
}
],
"responses": {
"202": {
"$ref": "#/responses/acceptedResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"422": {
"$ref": "#/responses/unprocessableEntityError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/licensing/token/renew": {
"post": {
"description": "Manually ask license issuer for a new token. Available in Grafana Enterprise v7.4+.\n\nYou need to have a permission with action `licensing:update`.",
"tags": [
"licensing",
"enterprise"
],
"summary": "Manually force license refresh.",
"operationId": "postRenewLicenseToken",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/postRenewLicenseTokenResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"404": {
"$ref": "#/responses/notFoundError"
}
}
}
},
"/logout/saml": {
"get": {
"tags": [
"saml",
"enterprise"
],
"summary": "GetLogout initiates single logout process.",
"operationId": "getSAMLLogout",
"responses": {
"302": {
"description": ""
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/recording-rules": {
"get": {
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Lists all rules in the database: active or deleted.",
"operationId": "listRecordingRules",
"responses": {
"200": {
"$ref": "#/responses/listRecordingRulesResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"put": {
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Update the active status of a rule.",
"operationId": "updateRecordingRule",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/RecordingRuleJSON"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/recordingRuleResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Create a recording rule that is then registered and started.",
"operationId": "createRecordingRule",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/RecordingRuleJSON"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/recordingRuleResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/recording-rules/test": {
"post": {
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Test a recording rule.",
"operationId": "testCreateRecordingRule",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/RecordingRuleJSON"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"422": {
"$ref": "#/responses/unprocessableEntityError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/recording-rules/writer": {
"get": {
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Return the prometheus remote write target.",
"operationId": "getRecordingRuleWriteTarget",
"responses": {
"200": {
"$ref": "#/responses/recordingRuleWriteTargetResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "It returns a 422 if there is not an existing prometheus data source configured.",
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Create a remote write target.",
"operationId": "createRecordingRuleWriteTarget",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PrometheusRemoteWriteTargetJSON"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/recordingRuleWriteTargetResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"422": {
"$ref": "#/responses/unprocessableEntityError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"delete": {
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Delete the remote write target.",
"operationId": "deleteRecordingRuleWriteTarget",
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/recording-rules/{recordingRuleID}": {
"delete": {
"tags": [
"recording_rules",
"enterprise"
],
"summary": "Delete removes the rule from the registry and stops it.",
"operationId": "deleteRecordingRule",
"parameters": [
{
"type": "integer",
"format": "int64",
"name": "recordingRuleID",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/reports": {
"get": {
"description": "Available to org admins only and with a valid or expired license.\n\nYou need to have a permission with action `reports:read` with scope `reports:*`.",
"tags": [
"reports",
"enterprise"
],
"summary": "List reports.",
"operationId": "getReports",
"responses": {
"200": {
"$ref": "#/responses/getReportsResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "Available to org admins only and with a valid license.\n\nYou need to have a permission with action `reports.admin:create`.",
"tags": [
"reports",
"enterprise"
],
"summary": "Create a report.",
"operationId": "createReport",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateOrUpdateReportConfig"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/createReportResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/reports/email": {
"post": {
"description": "Generate and send a report. This API waits for the report to be generated before returning. We recommend that you set the clients timeout to at least 60 seconds. Available to org admins only and with a valid license.\n\nOnly available in Grafana Enterprise v7.0+.\nThis API endpoint is experimental and may be deprecated in a future release. On deprecation, a migration strategy will be provided and the endpoint will remain functional until the next major release of Grafana.\n\nYou need to have a permission with action `reports:send`.",
"tags": [
"reports",
"enterprise"
],
"summary": "Send a report.",
"operationId": "sendReport",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ReportEmail"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/reports/render/csvs": {
"get": {
"description": "Available to all users and with a valid license.",
"produces": [
"application/zip"
],
"tags": [
"reports",
"enterprise"
],
"summary": "Download a CSV report.",
"operationId": "renderReportCSVs",
"parameters": [
{
"type": "string",
"name": "dashboards",
"in": "query"
},
{
"type": "string",
"name": "title",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/contentResponse"
},
"204": {
"$ref": "#/responses/noContentResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/reports/render/pdfs": {
"get": {
"description": "Available to all users and with a valid license.",
"produces": [
"application/pdf"
],
"tags": [
"reports",
"enterprise"
],
"summary": "Render report for multiple dashboards.",
"operationId": "renderReportPDFs",
"parameters": [
{
"type": "string",
"name": "dashboards",
"in": "query"
},
{
"type": "string",
"name": "orientation",
"in": "query"
},
{
"type": "string",
"name": "layout",
"in": "query"
},
{
"type": "string",
"name": "title",
"in": "query"
},
{
"type": "string",
"name": "scaleFactor",
"in": "query"
},
{
"type": "string",
"name": "includeTables",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/contentResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/reports/settings": {
"get": {
"description": "Available to org admins only and with a valid or expired license.\n\nYou need to have a permission with action `reports.settings:read`x.",
"tags": [
"reports",
"enterprise"
],
"summary": "Get settings.",
"operationId": "getReportSettings",
"responses": {
"200": {
"$ref": "#/responses/getReportSettingsResponse"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "Available to org admins only and with a valid or expired license.\n\nYou need to have a permission with action `reports.settings:write`xx.",
"tags": [
"reports",
"enterprise"
],
"summary": "Save settings.",
"operationId": "saveReportSettings",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ReportSettings"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/reports/test-email": {
"post": {
"description": "Available to org admins only and with a valid license.\n\nYou need to have a permission with action `reports:send`.",
"tags": [
"reports",
"enterprise"
],
"summary": "Send test report via email.",
"operationId": "sendTestEmail",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateOrUpdateReportConfig"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/reports/{id}": {
"get": {
"description": "Available to org admins only and with a valid or expired license.\n\nYou need to have a permission with action `reports:read` with scope `reports:id:\u003creport ID\u003e`.",
"tags": [
"reports",
"enterprise"
],
"summary": "Get a report.",
"operationId": "getReport",
"parameters": [
{
"type": "integer",
"format": "int64",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/getReportResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"put": {
"description": "Available to org admins only and with a valid or expired license.\n\nYou need to have a permission with action `reports.admin:write` with scope `reports:id:\u003creport ID\u003e`.",
"tags": [
"reports",
"enterprise"
],
"summary": "Update a report.",
"operationId": "updateReport",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateOrUpdateReportConfig"
}
},
{
"type": "integer",
"format": "int64",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"delete": {
"description": "Available to org admins only and with a valid or expired license.\n\nYou need to have a permission with action `reports.delete` with scope `reports:id:\u003creport ID\u003e`.",
"tags": [
"reports",
"enterprise"
],
"summary": "Delete a report.",
"operationId": "deleteReport",
"parameters": [
{
"type": "integer",
"format": "int64",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/saml/acs": {
"post": {
"tags": [
"saml",
"enterprise"
],
"summary": "It performs Assertion Consumer Service (ACS).",
"operationId": "postACS",
"parameters": [
{
"type": "string",
"name": "RelayState",
"in": "query"
}
],
"responses": {
"302": {
"description": ""
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/saml/metadata": {
"get": {
"produces": [
"application/xml;application/samlmetadata+xml"
],
"tags": [
"saml",
"enterprise"
],
"summary": "It exposes the SP (Grafana's) metadata for the IdP's consumption.",
"operationId": "getMetadata",
"responses": {
"200": {
"$ref": "#/responses/contentResponse"
}
}
}
},
"/saml/slo": {
"get": {
"description": "There might be two possible requests:\n1. Logout response (callback) when Grafana initiates single logout and IdP returns response to logout request.\n2. Logout request when another SP initiates single logout and IdP sends logout request to the Grafana,\nor in case of IdP-initiated logout.",
"tags": [
"saml",
"enterprise"
],
"summary": "It performs Single Logout (SLO) callback.",
"operationId": "getSLO",
"responses": {
"302": {
"description": ""
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"description": "There might be two possible requests:\n1. Logout response (callback) when Grafana initiates single logout and IdP returns response to logout request.\n2. Logout request when another SP initiates single logout and IdP sends logout request to the Grafana,\nor in case of IdP-initiated logout.",
"tags": [
"saml",
"enterprise"
],
"summary": "It performs Single Logout (SLO) callback.",
"operationId": "postSLO",
"parameters": [
{
"type": "string",
"name": "SAMLRequest",
"in": "query"
},
{
"type": "string",
"name": "SAMLResponse",
"in": "query"
}
],
"responses": {
"302": {
"description": ""
},
"400": {
"$ref": "#/responses/badRequestError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
},
"/teams/{teamId}/groups": {
"get": {
"tags": [
"sync_team_groups",
"enterprise"
],
"summary": "Get External Groups.",
"operationId": "getTeamGroupsApi",
"parameters": [
{
"type": "integer",
"format": "int64",
"name": "teamId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/getTeamGroupsApiResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"tags": [
"sync_team_groups",
"enterprise"
],
"summary": "Add External Group.",
"operationId": "addTeamGroupApi",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/TeamGroupMapping"
}
},
{
"type": "integer",
"format": "int64",
"name": "teamId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"delete": {
"tags": [
"sync_team_groups",
"enterprise"
],
"summary": "Remove External Group.",
"operationId": "removeTeamGroupApiQuery",
"parameters": [
{
"type": "string",
"name": "groupId",
"in": "query"
},
{
"type": "integer",
"format": "int64",
"name": "teamId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"403": {
"$ref": "#/responses/forbiddenError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
}
}
},
"definitions": {
"ActiveSyncStatusDTO": {
"description": "ActiveSyncStatusDTO holds the information for LDAP background Sync",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"nextSync": {
"type": "string",
"format": "date-time"
},
"prevSync": {
"$ref": "#/definitions/SyncResult"
},
"schedule": {
"type": "string"
}
}
},
"ActiveUserStats": {
"type": "object",
"properties": {
"active_admins_and_editors": {
"type": "integer",
"format": "int64"
},
"active_anonymous_devices": {
"type": "integer",
"format": "int64"
},
"active_users": {
"type": "integer",
"format": "int64"
},
"active_viewers": {
"type": "integer",
"format": "int64"
}
}
},
"AddAPIKeyCommand": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
},
"secondsToLive": {
"type": "integer",
"format": "int64"
}
}
},
"AddDataSourceCommand": {
"description": "Also acts as api DTO",
"type": "object",
"properties": {
"access": {
"$ref": "#/definitions/DsAccess"
},
"basicAuth": {
"type": "boolean"
},
"basicAuthUser": {
"type": "string"
},
"database": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"jsonData": {
"$ref": "#/definitions/Json"
},
"name": {
"type": "string"
},
"secureJsonData": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"type": {
"type": "string"
},
"uid": {
"type": "string"
},
"url": {
"type": "string"
},
"user": {
"type": "string"
},
"withCredentials": {
"type": "boolean"
}
}
},
"AddInviteForm": {
"type": "object",
"properties": {
"loginOrEmail": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
},
"sendEmail": {
"type": "boolean"
}
}
},
"AddOrgUserCommand": {
"type": "object",
"properties": {
"loginOrEmail": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
}
}
},
"AddServiceAccountTokenCommand": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"secondsToLive": {
"type": "integer",
"format": "int64"
}
}
},
"AddTeamMemberCommand": {
"type": "object",
"properties": {
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"AddTeamRoleCommand": {
"type": "object",
"properties": {
"roleUid": {
"type": "string"
}
}
},
"AddUserRoleCommand": {
"type": "object",
"properties": {
"global": {
"type": "boolean"
},
"roleUid": {
"type": "string"
}
}
},
"Address": {
"type": "object",
"properties": {
"address1": {
"type": "string"
},
"address2": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"state": {
"type": "string"
},
"zipCode": {
"type": "string"
}
}
},
"AdminCreateUserForm": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"password": {
"$ref": "#/definitions/Password"
}
}
},
"AdminCreateUserResponse": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
}
}
},
"AdminStats": {
"type": "object",
"properties": {
"activeAdmins": {
"type": "integer",
"format": "int64"
},
"activeDevices": {
"type": "integer",
"format": "int64"
},
"activeEditors": {
"type": "integer",
"format": "int64"
},
"activeSessions": {
"type": "integer",
"format": "int64"
},
"activeUsers": {
"type": "integer",
"format": "int64"
},
"activeViewers": {
"type": "integer",
"format": "int64"
},
"admins": {
"type": "integer",
"format": "int64"
},
"alerts": {
"type": "integer",
"format": "int64"
},
"dailyActiveAdmins": {
"type": "integer",
"format": "int64"
},
"dailyActiveEditors": {
"type": "integer",
"format": "int64"
},
"dailyActiveSessions": {
"type": "integer",
"format": "int64"
},
"dailyActiveUsers": {
"type": "integer",
"format": "int64"
},
"dailyActiveViewers": {
"type": "integer",
"format": "int64"
},
"dashboards": {
"type": "integer",
"format": "int64"
},
"datasources": {
"type": "integer",
"format": "int64"
},
"editors": {
"type": "integer",
"format": "int64"
},
"monthlyActiveUsers": {
"type": "integer",
"format": "int64"
},
"orgs": {
"type": "integer",
"format": "int64"
},
"playlists": {
"type": "integer",
"format": "int64"
},
"snapshots": {
"type": "integer",
"format": "int64"
},
"stars": {
"type": "integer",
"format": "int64"
},
"tags": {
"type": "integer",
"format": "int64"
},
"users": {
"type": "integer",
"format": "int64"
},
"viewers": {
"type": "integer",
"format": "int64"
}
}
},
"AdminUpdateUserPasswordForm": {
"type": "object",
"properties": {
"password": {
"$ref": "#/definitions/Password"
}
}
},
"AdminUpdateUserPermissionsForm": {
"type": "object",
"properties": {
"isGrafanaAdmin": {
"type": "boolean"
}
}
},
"Annotation": {
"type": "object",
"properties": {
"alertId": {
"type": "integer",
"format": "int64"
},
"alertName": {
"type": "string"
},
"avatarUrl": {
"type": "string"
},
"created": {
"type": "integer",
"format": "int64"
},
"dashboardId": {
"type": "integer",
"format": "int64"
},
"dashboardUID": {
"type": "string"
},
"data": {
"$ref": "#/definitions/Json"
},
"email": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"login": {
"type": "string"
},
"newState": {
"type": "string"
},
"panelId": {
"type": "integer",
"format": "int64"
},
"prevState": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
},
"time": {
"type": "integer",
"format": "int64"
},
"timeEnd": {
"type": "integer",
"format": "int64"
},
"updated": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"AnnotationActions": {
"type": "object",
"properties": {
"canAdd": {
"type": "boolean"
},
"canDelete": {
"type": "boolean"
},
"canEdit": {
"type": "boolean"
}
}
},
"AnnotationEvent": {
"type": "object",
"properties": {
"color": {
"type": "string"
},
"dashboardId": {
"type": "integer",
"format": "int64"
},
"id": {
"type": "integer",
"format": "int64"
},
"isRegion": {
"type": "boolean"
},
"panelId": {
"type": "integer",
"format": "int64"
},
"source": {
"$ref": "#/definitions/AnnotationQuery"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
},
"time": {
"type": "integer",
"format": "int64"
},
"timeEnd": {
"type": "integer",
"format": "int64"
}
}
},
"AnnotationPanelFilter": {
"type": "object",
"title": "AnnotationPanelFilter defines model for AnnotationPanelFilter.",
"properties": {
"exclude": {
"description": "Should the specified panels be included or excluded",
"type": "boolean"
},
"ids": {
"description": "Panel IDs that should be included or excluded",
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"AnnotationPermission": {
"type": "object",
"properties": {
"dashboard": {
"$ref": "#/definitions/AnnotationActions"
},
"organization": {
"$ref": "#/definitions/AnnotationActions"
}
}
},
"AnnotationQuery": {
"description": "TODO docs\nFROM: AnnotationQuery in grafana-data/src/types/annotations.ts",
"type": "object",
"properties": {
"builtIn": {
"description": "Set to 1 for the standard annotation query all dashboards have by default.",
"type": "number",
"format": "float"
},
"datasource": {
"$ref": "#/definitions/DataSourceRef"
},
"enable": {
"description": "When enabled the annotation query is issued with every dashboard refresh",
"type": "boolean"
},
"filter": {
"$ref": "#/definitions/AnnotationPanelFilter"
},
"hide": {
"description": "Annotation queries can be toggled on or off at the top of the dashboard.\nWhen hide is true, the toggle is not shown in the dashboard.",
"type": "boolean"
},
"iconColor": {
"description": "Color to use for the annotation event markers",
"type": "string"
},
"name": {
"description": "Name of annotation.",
"type": "string"
},
"target": {
"$ref": "#/definitions/AnnotationTarget"
},
"type": {
"description": "TODO -- this should not exist here, it is based on the --grafana-- datasource",
"type": "string"
}
}
},
"AnnotationTarget": {
"description": "TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the \"grafana\" datasouce that is default in most dashboards",
"type": "object",
"properties": {
"limit": {
"description": "Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change",
"type": "integer",
"format": "int64"
},
"matchAny": {
"description": "Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change",
"type": "boolean"
},
"tags": {
"description": "Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change",
"type": "array",
"items": {
"type": "string"
}
},
"type": {
"description": "Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change",
"type": "string"
}
}
},
"ApiKeyDTO": {
"type": "object",
"properties": {
"accessControl": {
"$ref": "#/definitions/Metadata"
},
"expiration": {
"type": "string",
"format": "date-time"
},
"id": {
"type": "integer",
"format": "int64"
},
"lastUsedAt": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
}
}
},
"Assignments": {
"type": "object",
"properties": {
"builtInRoles": {
"type": "boolean"
},
"serviceAccounts": {
"type": "boolean"
},
"teams": {
"type": "boolean"
},
"users": {
"type": "boolean"
}
}
},
"AttributeTypeAndValue": {
"description": "AttributeTypeAndValue mirrors the ASN.1 structure of the same name in\nRFC 5280, Section 4.1.2.4.",
"type": "object",
"properties": {
"Type": {
"$ref": "#/definitions/ObjectIdentifier"
},
"Value": {}
}
},
"CacheConfig": {
"description": "Config defines the internal representation of a cache configuration, including fields not set by the API caller",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"dataSourceID": {
"description": "Fields that can be set by the API caller - read/write",
"type": "integer",
"format": "int64"
},
"dataSourceUID": {
"type": "string"
},
"defaultTTLMs": {
"description": "These are returned by the HTTP API, but are managed internally - read-only\nNote: 'created' and 'updated' are special properties managed automatically by xorm, but we are setting them manually",
"type": "integer",
"format": "int64"
},
"enabled": {
"type": "boolean"
},
"ttlQueriesMs": {
"description": "TTL MS, or \"time to live\", is how long a cached item will stay in the cache before it is removed (in milliseconds)",
"type": "integer",
"format": "int64"
},
"ttlResourcesMs": {
"type": "integer",
"format": "int64"
},
"updated": {
"type": "string",
"format": "date-time"
},
"useDefaultTTL": {
"description": "If UseDefaultTTL is enabled, then the TTLQueriesMS and TTLResourcesMS in this object is always sent as the default TTL located in grafana.ini",
"type": "boolean"
}
}
},
"CacheConfigResponse": {
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"dataSourceID": {
"description": "Fields that can be set by the API caller - read/write",
"type": "integer",
"format": "int64"
},
"dataSourceUID": {
"type": "string"
},
"defaultTTLMs": {
"description": "These are returned by the HTTP API, but are managed internally - read-only\nNote: 'created' and 'updated' are special properties managed automatically by xorm, but we are setting them manually",
"type": "integer",
"format": "int64"
},
"enabled": {
"type": "boolean"
},
"message": {
"type": "string"
},
"ttlQueriesMs": {
"description": "TTL MS, or \"time to live\", is how long a cached item will stay in the cache before it is removed (in milliseconds)",
"type": "integer",
"format": "int64"
},
"ttlResourcesMs": {
"type": "integer",
"format": "int64"
},
"updated": {
"type": "string",
"format": "date-time"
},
"useDefaultTTL": {
"description": "If UseDefaultTTL is enabled, then the TTLQueriesMS and TTLResourcesMS in this object is always sent as the default TTL located in grafana.ini",
"type": "boolean"
}
}
},
"CacheConfigSetter": {
"description": "ConfigSetter defines the cache parameters that users can configure per datasource\nThis is only intended to be consumed by the SetCache HTTP Handler",
"type": "object",
"properties": {
"dataSourceID": {
"type": "integer",
"format": "int64"
},
"dataSourceUID": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"ttlQueriesMs": {
"description": "TTL MS, or \"time to live\", is how long a cached item will stay in the cache before it is removed (in milliseconds)",
"type": "integer",
"format": "int64"
},
"ttlResourcesMs": {
"type": "integer",
"format": "int64"
},
"useDefaultTTL": {
"description": "If UseDefaultTTL is enabled, then the TTLQueriesMS and TTLResourcesMS in this object is always sent as the default TTL located in grafana.ini",
"type": "boolean"
}
}
},
"CalculateDiffTarget": {
"type": "object",
"properties": {
"dashboardId": {
"type": "integer",
"format": "int64"
},
"unsavedDashboard": {
"$ref": "#/definitions/Json"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"Certificate": {
"type": "object",
"title": "A Certificate represents an X.509 certificate.",
"properties": {
"AuthorityKeyId": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"BasicConstraintsValid": {
"description": "BasicConstraintsValid indicates whether IsCA, MaxPathLen,\nand MaxPathLenZero are valid.",
"type": "boolean"
},
"CRLDistributionPoints": {
"description": "CRL Distribution Points",
"type": "array",
"items": {
"type": "string"
}
},
"DNSNames": {
"description": "Subject Alternate Name values. (Note that these values may not be valid\nif invalid values were contained within a parsed certificate. For\nexample, an element of DNSNames may not be a valid DNS domain name.)",
"type": "array",
"items": {
"type": "string"
}
},
"EmailAddresses": {
"type": "array",
"items": {
"type": "string"
}
},
"ExcludedDNSDomains": {
"type": "array",
"items": {
"type": "string"
}
},
"ExcludedEmailAddresses": {
"type": "array",
"items": {
"type": "string"
}
},
"ExcludedIPRanges": {
"type": "array",
"items": {
"$ref": "#/definitions/IPNet"
}
},
"ExcludedURIDomains": {
"type": "array",
"items": {
"type": "string"
}
},
"ExtKeyUsage": {
"type": "array",
"items": {
"$ref": "#/definitions/ExtKeyUsage"
}
},
"Extensions": {
"description": "Extensions contains raw X.509 extensions. When parsing certificates,\nthis can be used to extract non-critical extensions that are not\nparsed by this package. When marshaling certificates, the Extensions\nfield is ignored, see ExtraExtensions.",
"type": "array",
"items": {
"$ref": "#/definitions/Extension"
}
},
"ExtraExtensions": {
"description": "ExtraExtensions contains extensions to be copied, raw, into any\nmarshaled certificates. Values override any extensions that would\notherwise be produced based on the other fields. The ExtraExtensions\nfield is not populated when parsing certificates, see Extensions.",
"type": "array",
"items": {
"$ref": "#/definitions/Extension"
}
},
"IPAddresses": {
"type": "array",
"items": {
"type": "string"
}
},
"IsCA": {
"type": "boolean"
},
"Issuer": {
"$ref": "#/definitions/Name"
},
"IssuingCertificateURL": {
"type": "array",
"items": {
"type": "string"
}
},
"KeyUsage": {
"$ref": "#/definitions/KeyUsage"
},
"MaxPathLen": {
"description": "MaxPathLen and MaxPathLenZero indicate the presence and\nvalue of the BasicConstraints' \"pathLenConstraint\".\n\nWhen parsing a certificate, a positive non-zero MaxPathLen\nmeans that the field was specified, -1 means it was unset,\nand MaxPathLenZero being true mean that the field was\nexplicitly set to zero. The case of MaxPathLen==0 with MaxPathLenZero==false\nshould be treated equivalent to -1 (unset).\n\nWhen generating a certificate, an unset pathLenConstraint\ncan be requested with either MaxPathLen == -1 or using the\nzero value for both MaxPathLen and MaxPathLenZero.",
"type": "integer",
"format": "int64"
},
"MaxPathLenZero": {
"description": "MaxPathLenZero indicates that BasicConstraintsValid==true\nand MaxPathLen==0 should be interpreted as an actual\nmaximum path length of zero. Otherwise, that combination is\ninterpreted as MaxPathLen not being set.",
"type": "boolean"
},
"NotBefore": {
"type": "string",
"format": "date-time"
},
"OCSPServer": {
"description": "RFC 5280, 4.2.2.1 (Authority Information Access)",
"type": "array",
"items": {
"type": "string"
}
},
"PermittedDNSDomains": {
"type": "array",
"items": {
"type": "string"
}
},
"PermittedDNSDomainsCritical": {
"description": "Name constraints",
"type": "boolean"
},
"PermittedEmailAddresses": {
"type": "array",
"items": {
"type": "string"
}
},
"PermittedIPRanges": {
"type": "array",
"items": {
"$ref": "#/definitions/IPNet"
}
},
"PermittedURIDomains": {
"type": "array",
"items": {
"type": "string"
}
},
"Policies": {
"description": "Policies contains all policy identifiers included in the certificate.\nIn Go 1.22, encoding/gob cannot handle and ignores this field.",
"type": "array",
"items": {
"$ref": "#/definitions/OID"
}
},
"PolicyIdentifiers": {
"description": "PolicyIdentifiers contains asn1.ObjectIdentifiers, the components\nof which are limited to int32. If a certificate contains a policy which\ncannot be represented by asn1.ObjectIdentifier, it will not be included in\nPolicyIdentifiers, but will be present in Policies, which contains all parsed\npolicy OIDs.",
"type": "array",
"items": {
"$ref": "#/definitions/ObjectIdentifier"
}
},
"PublicKey": {},
"PublicKeyAlgorithm": {
"$ref": "#/definitions/PublicKeyAlgorithm"
},
"Raw": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"RawIssuer": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"RawSubject": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"RawSubjectPublicKeyInfo": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"RawTBSCertificate": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"SerialNumber": {
"type": "string"
},
"Signature": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"SignatureAlgorithm": {
"$ref": "#/definitions/SignatureAlgorithm"
},
"Subject": {
"$ref": "#/definitions/Name"
},
"SubjectKeyId": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"URIs": {
"type": "array",
"items": {
"$ref": "#/definitions/URL"
}
},
"UnhandledCriticalExtensions": {
"description": "UnhandledCriticalExtensions contains a list of extension IDs that\nwere not (fully) processed when parsing. Verify will fail if this\nslice is non-empty, unless verification is delegated to an OS\nlibrary which understands all the critical extensions.\n\nUsers can access these extensions using Extensions and can remove\nelements from this slice if they believe that they have been\nhandled.",
"type": "array",
"items": {
"$ref": "#/definitions/ObjectIdentifier"
}
},
"UnknownExtKeyUsage": {
"type": "array",
"items": {
"$ref": "#/definitions/ObjectIdentifier"
}
},
"Version": {
"type": "integer",
"format": "int64"
}
}
},
"ChangeUserPasswordCommand": {
"type": "object",
"properties": {
"newPassword": {
"$ref": "#/definitions/Password"
},
"oldPassword": {
"$ref": "#/definitions/Password"
}
}
},
"CloudMigrationRunListDTO": {
"type": "object",
"properties": {
"runs": {
"type": "array",
"items": {
"$ref": "#/definitions/MigrateDataResponseListDTO"
}
}
}
},
"CloudMigrationSessionListResponseDTO": {
"type": "object",
"properties": {
"sessions": {
"type": "array",
"items": {
"$ref": "#/definitions/CloudMigrationSessionResponseDTO"
}
}
}
},
"CloudMigrationSessionRequestDTO": {
"type": "object",
"properties": {
"authToken": {
"type": "string"
}
}
},
"CloudMigrationSessionResponseDTO": {
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"slug": {
"type": "string"
},
"uid": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
}
}
},
"ConfFloat64": {
"description": "ConfFloat64 is a float64. It Marshals float64 values of NaN of Inf\nto null.",
"type": "number",
"format": "double"
},
"CookiePreferences": {
"type": "object",
"title": "CookiePreferences defines model for CookiePreferences.",
"properties": {
"analytics": {
"type": "object",
"additionalProperties": {}
},
"functional": {
"type": "object",
"additionalProperties": {}
},
"performance": {
"type": "object",
"additionalProperties": {}
}
}
},
"CookieType": {
"type": "string"
},
"Correlation": {
"description": "Correlation is the model for correlations definitions",
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/CorrelationConfig"
},
"description": {
"description": "Description of the correlation",
"type": "string",
"example": "Logs to Traces"
},
"label": {
"description": "Label identifying the correlation",
"type": "string",
"example": "My Label"
},
"orgId": {
"description": "OrgID of the data source the correlation originates from",
"type": "integer",
"format": "int64",
"example": 1
},
"provisioned": {
"description": "Provisioned True if the correlation was created during provisioning",
"type": "boolean"
},
"sourceUID": {
"description": "UID of the data source the correlation originates from",
"type": "string",
"example": "d0oxYRg4z"
},
"targetUID": {
"description": "UID of the data source the correlation points to",
"type": "string",
"example": "PE1C5CBDA0504A6A3"
},
"uid": {
"description": "Unique identifier of the correlation",
"type": "string",
"example": "50xhMlg9k"
}
}
},
"CorrelationConfig": {
"type": "object",
"required": [
"field",
"type",
"target"
],
"properties": {
"field": {
"description": "Field used to attach the correlation link",
"type": "string",
"example": "message"
},
"target": {
"description": "Target data query",
"type": "object",
"additionalProperties": {},
"example": {
"prop1": "value1",
"prop2": "value"
}
},
"transformations": {
"$ref": "#/definitions/Transformations"
},
"type": {
"$ref": "#/definitions/CorrelationConfigType"
}
}
},
"CorrelationConfigType": {
"type": "string"
},
"CorrelationConfigUpdateDTO": {
"type": "object",
"properties": {
"field": {
"description": "Field used to attach the correlation link",
"type": "string",
"example": "message"
},
"target": {
"description": "Target data query",
"type": "object",
"additionalProperties": {},
"example": {
"prop1": "value1",
"prop2": "value"
}
},
"transformations": {
"description": "Source data transformations",
"type": "array",
"items": {
"$ref": "#/definitions/Transformation"
},
"example": [
{
"type": "logfmt"
},
{
"expression": "(Superman|Batman)",
"type": "regex",
"variable": "name"
}
]
},
"type": {
"$ref": "#/definitions/CorrelationConfigType"
}
}
},
"CreateAccessTokenResponseDTO": {
"type": "object",
"properties": {
"token": {
"type": "string"
}
}
},
"CreateCorrelationCommand": {
"description": "CreateCorrelationCommand is the command for creating a correlation",
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/CorrelationConfig"
},
"description": {
"description": "Optional description of the correlation",
"type": "string",
"example": "Logs to Traces"
},
"label": {
"description": "Optional label identifying the correlation",
"type": "string",
"example": "My label"
},
"provisioned": {
"description": "True if correlation was created with provisioning. This makes it read-only.",
"type": "boolean"
},
"targetUID": {
"description": "Target data source UID to which the correlation is created. required if config.type = query",
"type": "string",
"example": "PE1C5CBDA0504A6A3"
}
}
},
"CreateCorrelationResponseBody": {
"description": "CreateCorrelationResponse is the response struct for CreateCorrelationCommand",
"type": "object",
"properties": {
"message": {
"type": "string",
"example": "Correlation created"
},
"result": {
"$ref": "#/definitions/Correlation"
}
}
},
"CreateDashboardSnapshotCommand": {
"type": "object",
"required": [
"dashboard"
],
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources\n+optional",
"type": "string"
},
"dashboard": {
"$ref": "#/definitions/Unstructured"
},
"deleteKey": {
"description": "Unique key used to delete the snapshot. It is different from the `key` so that only the creator can delete the snapshot. Required if `external` is `true`.",
"type": "string"
},
"expires": {
"description": "When the snapshot should expire in seconds in seconds. Default is never to expire.",
"type": "integer",
"format": "int64",
"default": 0
},
"external": {
"description": "these are passed when storing an external snapshot ref\nSave the snapshot on an external server rather than locally.",
"type": "boolean",
"default": false
},
"key": {
"description": "Define the unique key. Required if `external` is `true`.",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\n+optional",
"type": "string"
},
"name": {
"description": "Snapshot name",
"type": "string"
}
}
},
"CreateFolderCommand": {
"description": "CreateFolderCommand captures the information required by the folder service\nto create a folder.",
"type": "object",
"properties": {
"description": {
"type": "string"
},
"parentUid": {
"type": "string"
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"CreateLibraryElementCommand": {
"description": "CreateLibraryElementCommand is the command for adding a LibraryElement",
"type": "object",
"properties": {
"folderId": {
"description": "ID of the folder where the library element is stored.\n\nDeprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderUid": {
"description": "UID of the folder where the library element is stored.",
"type": "string"
},
"kind": {
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
"type": "integer",
"format": "int64",
"enum": [
1,
2
]
},
"model": {
"description": "The JSON model for the library element.",
"type": "object"
},
"name": {
"description": "Name of the library element.",
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"CreateOrUpdateReportConfig": {
"type": "object",
"properties": {
"dashboards": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportDashboard"
}
},
"enableCsv": {
"type": "boolean"
},
"enableDashboardUrl": {
"type": "boolean"
},
"formats": {
"type": "array",
"items": {
"$ref": "#/definitions/Type"
}
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"options": {
"$ref": "#/definitions/ReportOptions"
},
"recipients": {
"type": "string"
},
"replyTo": {
"type": "string"
},
"scaleFactor": {
"type": "integer",
"format": "int64"
},
"schedule": {
"$ref": "#/definitions/ReportSchedule"
},
"state": {
"$ref": "#/definitions/State"
}
}
},
"CreateOrgCommand": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
},
"CreatePlaylistCommand": {
"type": "object",
"properties": {
"interval": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/PlaylistItem"
}
},
"name": {
"type": "string"
}
}
},
"CreateQueryInQueryHistoryCommand": {
"description": "CreateQueryInQueryHistoryCommand is the command for adding query history",
"type": "object",
"required": [
"queries"
],
"properties": {
"datasourceUid": {
"description": "UID of the data source for which are queries stored.",
"type": "string",
"example": "PE1C5CBDA0504A6A3"
},
"queries": {
"$ref": "#/definitions/Json"
}
}
},
"CreateRoleForm": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"global": {
"type": "boolean"
},
"group": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/Permission"
}
},
"uid": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"CreateServiceAccountForm": {
"type": "object",
"properties": {
"isDisabled": {
"type": "boolean",
"example": false
},
"name": {
"type": "string",
"example": "grafana"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
],
"example": "Admin"
}
}
},
"CreateSnapshotResponseDTO": {
"type": "object",
"properties": {
"uid": {
"type": "string"
}
}
},
"CreateTeamCommand": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"DashboardACLInfoDTO": {
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"dashboardId": {
"type": "integer",
"format": "int64"
},
"folderId": {
"description": "Deprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderUid": {
"type": "string"
},
"inherited": {
"type": "boolean"
},
"isFolder": {
"type": "boolean"
},
"permission": {
"$ref": "#/definitions/PermissionType"
},
"permissionName": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
},
"slug": {
"type": "string"
},
"team": {
"type": "string"
},
"teamAvatarUrl": {
"type": "string"
},
"teamEmail": {
"type": "string"
},
"teamId": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
},
"url": {
"type": "string"
},
"userAvatarUrl": {
"type": "string"
},
"userEmail": {
"type": "string"
},
"userId": {
"type": "integer",
"format": "int64"
},
"userLogin": {
"type": "string"
}
}
},
"DashboardACLUpdateItem": {
"type": "object",
"properties": {
"permission": {
"$ref": "#/definitions/PermissionType"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
},
"teamId": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"DashboardCreateCommand": {
"description": "These are the values expected to be sent from an end user\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object",
"type": "object",
"required": [
"dashboard"
],
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources\n+optional",
"type": "string"
},
"dashboard": {
"$ref": "#/definitions/Unstructured"
},
"expires": {
"description": "When the snapshot should expire in seconds in seconds. Default is never to expire.",
"type": "integer",
"format": "int64",
"default": 0
},
"external": {
"description": "these are passed when storing an external snapshot ref\nSave the snapshot on an external server rather than locally.",
"type": "boolean",
"default": false
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\n+optional",
"type": "string"
},
"name": {
"description": "Snapshot name",
"type": "string"
}
}
},
"DashboardFullWithMeta": {
"type": "object",
"properties": {
"dashboard": {
"$ref": "#/definitions/Json"
},
"meta": {
"$ref": "#/definitions/DashboardMeta"
}
}
},
"DashboardMeta": {
"type": "object",
"properties": {
"annotationsPermissions": {
"$ref": "#/definitions/AnnotationPermission"
},
"canAdmin": {
"type": "boolean"
},
"canDelete": {
"type": "boolean"
},
"canEdit": {
"type": "boolean"
},
"canSave": {
"type": "boolean"
},
"canStar": {
"type": "boolean"
},
"created": {
"type": "string",
"format": "date-time"
},
"createdBy": {
"type": "string"
},
"expires": {
"type": "string",
"format": "date-time"
},
"folderId": {
"description": "Deprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderTitle": {
"type": "string"
},
"folderUid": {
"type": "string"
},
"folderUrl": {
"type": "string"
},
"hasAcl": {
"type": "boolean"
},
"isFolder": {
"type": "boolean"
},
"isSnapshot": {
"type": "boolean"
},
"isStarred": {
"type": "boolean"
},
"provisioned": {
"type": "boolean"
},
"provisionedExternalId": {
"type": "string"
},
"publicDashboardEnabled": {
"type": "boolean"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
},
"updatedBy": {
"type": "string"
},
"url": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"DashboardRedirect": {
"type": "object",
"properties": {
"redirectUri": {
"type": "string"
}
}
},
"DashboardSnapshotDTO": {
"description": "DashboardSnapshotDTO without dashboard map",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"expires": {
"type": "string",
"format": "date-time"
},
"external": {
"type": "boolean"
},
"externalUrl": {
"type": "string"
},
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
}
}
},
"DashboardTagCloudItem": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int64"
},
"term": {
"type": "string"
}
}
},
"DashboardVersionMeta": {
"description": "DashboardVersionMeta extends the DashboardVersionDTO with the names\nassociated with the UserIds, overriding the field with the same name from\nthe DashboardVersionDTO model.",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"createdBy": {
"type": "string"
},
"dashboardId": {
"type": "integer",
"format": "int64"
},
"data": {
"$ref": "#/definitions/Json"
},
"id": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
},
"parentVersion": {
"type": "integer",
"format": "int64"
},
"restoredFrom": {
"type": "integer",
"format": "int64"
},
"uid": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"DataLink": {
"description": "DataLink define what",
"type": "object",
"properties": {
"internal": {
"$ref": "#/definitions/InternalDataLink"
},
"targetBlank": {
"type": "boolean"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"DataResponse": {
"description": "A map of RefIDs (unique query identifiers) to this type makes up the Responses property of a QueryDataResponse.\nThe Error property is used to allow for partial success responses from the containing QueryDataResponse.",
"type": "object",
"title": "DataResponse contains the results from a DataQuery.",
"properties": {
"Error": {
"description": "Error is a property to be set if the corresponding DataQuery has an error.",
"type": "string"
},
"ErrorSource": {
"$ref": "#/definitions/ErrorSource"
},
"Frames": {
"$ref": "#/definitions/Frames"
},
"Status": {
"$ref": "#/definitions/Status"
}
}
},
"DataSource": {
"type": "object",
"properties": {
"access": {
"$ref": "#/definitions/DsAccess"
},
"accessControl": {
"$ref": "#/definitions/Metadata"
},
"basicAuth": {
"type": "boolean"
},
"basicAuthUser": {
"type": "string"
},
"database": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"isDefault": {
"type": "boolean"
},
"jsonData": {
"$ref": "#/definitions/Json"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"readOnly": {
"type": "boolean"
},
"secureJsonFields": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"type": {
"type": "string"
},
"typeLogoUrl": {
"type": "string"
},
"uid": {
"type": "string"
},
"url": {
"type": "string"
},
"user": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
},
"withCredentials": {
"type": "boolean"
}
}
},
"DataSourceList": {
"type": "array",
"items": {
"$ref": "#/definitions/DataSourceListItemDTO"
}
},
"DataSourceListItemDTO": {
"type": "object",
"properties": {
"access": {
"$ref": "#/definitions/DsAccess"
},
"basicAuth": {
"type": "boolean"
},
"database": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"isDefault": {
"type": "boolean"
},
"jsonData": {
"$ref": "#/definitions/Json"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"readOnly": {
"type": "boolean"
},
"type": {
"type": "string"
},
"typeLogoUrl": {
"type": "string"
},
"typeName": {
"type": "string"
},
"uid": {
"type": "string"
},
"url": {
"type": "string"
},
"user": {
"type": "string"
}
}
},
"DataSourceRef": {
"description": "Ref to a DataSource instance",
"type": "object",
"properties": {
"type": {
"description": "The plugin type-id",
"type": "string"
},
"uid": {
"description": "Specific datasource instance",
"type": "string"
}
}
},
"DataTopic": {
"description": "nolint:revive",
"type": "string",
"title": "DataTopic is used to identify which topic the frame should be assigned to."
},
"DeleteCorrelationResponseBody": {
"type": "object",
"properties": {
"message": {
"type": "string",
"example": "Correlation deleted"
}
}
},
"DeleteTokenCommand": {
"type": "object",
"properties": {
"instance": {
"type": "string"
}
}
},
"DescendantCounts": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int64"
}
},
"Description": {
"type": "object",
"properties": {
"assignments": {
"$ref": "#/definitions/Assignments"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"DeviceSearchHitDTO": {
"type": "object",
"properties": {
"clientIp": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"deviceId": {
"type": "string"
},
"lastSeenAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"userAgent": {
"type": "string"
}
}
},
"DsAccess": {
"type": "string"
},
"DsPermissionType": {
"description": "Datasource permission\nDescription:\n`0` - No Access\n`1` - Query\n`2` - Edit\nEnum: 0,1,2",
"type": "integer",
"format": "int64"
},
"Duration": {
"description": "A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.",
"type": "integer",
"format": "int64"
},
"EmailDTO": {
"type": "object",
"properties": {
"recipient": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"EnumFieldConfig": {
"description": "Enum field config\nVector values are used as lookup keys into the enum fields",
"type": "object",
"properties": {
"color": {
"description": "Color is the color value for a given index (empty is undefined)",
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"description": "Description of the enum state",
"type": "array",
"items": {
"type": "string"
}
},
"icon": {
"description": "Icon supports setting an icon for a given index value",
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"description": "Value is the string display value for a given index",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ErrorResponseBody": {
"type": "object",
"required": [
"message"
],
"properties": {
"error": {
"description": "Error An optional detailed description of the actual error. Only included if running in developer mode.",
"type": "string"
},
"message": {
"description": "a human readable version of the error",
"type": "string"
},
"status": {
"description": "Status An optional status to denote the cause of the error.\n\nFor example, a 412 Precondition Failed error may include additional information of why that error happened.",
"type": "string"
}
}
},
"ErrorSource": {
"description": "ErrorSource type defines the source of the error",
"type": "string"
},
"ExplorePanelsState": {
"description": "This is an object constructed with the keys as the values of the enum VisType and the value being a bag of properties"
},
"ExtKeyUsage": {
"description": "Each of the ExtKeyUsage* constants define a unique action.",
"type": "integer",
"format": "int64",
"title": "ExtKeyUsage represents an extended set of actions that are valid for a given key."
},
"Extension": {
"description": "Extension represents the ASN.1 structure of the same name. See RFC\n5280, section 4.2.",
"type": "object",
"properties": {
"Critical": {
"type": "boolean"
},
"Id": {
"$ref": "#/definitions/ObjectIdentifier"
},
"Value": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
}
}
},
"FailedUser": {
"description": "FailedUser holds the information of an user that failed",
"type": "object",
"properties": {
"Error": {
"type": "string"
},
"Login": {
"type": "string"
}
}
},
"Field": {
"description": "A Field is essentially a slice of various types with extra properties and methods.\nSee NewField() for supported types.\n\nThe slice data in the Field is a not exported, so methods on the Field are used to to manipulate its data.",
"type": "object",
"title": "Field represents a typed column of data within a Frame.",
"properties": {
"config": {
"$ref": "#/definitions/FieldConfig"
},
"labels": {
"$ref": "#/definitions/FrameLabels"
},
"name": {
"description": "Name is default identifier of the field. The name does not have to be unique, but the combination\nof name and Labels should be unique for proper behavior in all situations.",
"type": "string"
}
}
},
"FieldConfig": {
"type": "object",
"title": "FieldConfig represents the display properties for a Field.",
"properties": {
"color": {
"description": "Map values to a display color\nNOTE: this interface is under development in the frontend... so simple map for now",
"type": "object",
"additionalProperties": {}
},
"custom": {
"description": "Panel Specific Values",
"type": "object",
"additionalProperties": {}
},
"decimals": {
"type": "integer",
"format": "uint16"
},
"description": {
"description": "Description is human readable field metadata",
"type": "string"
},
"displayName": {
"description": "DisplayName overrides Grafana default naming, should not be used from a data source",
"type": "string"
},
"displayNameFromDS": {
"description": "DisplayNameFromDS overrides Grafana default naming strategy.",
"type": "string"
},
"filterable": {
"description": "Filterable indicates if the Field's data can be filtered by additional calls.",
"type": "boolean"
},
"interval": {
"description": "Interval indicates the expected regular step between values in the series.\nWhen an interval exists, consumers can identify \"missing\" values when the expected value is not present.\nThe grafana timeseries visualization will render disconnected values when missing values are found it the time field.\nThe interval uses the same units as the values. For time.Time, this is defined in milliseconds.",
"type": "number",
"format": "double"
},
"links": {
"description": "The behavior when clicking on a result",
"type": "array",
"items": {
"$ref": "#/definitions/DataLink"
}
},
"mappings": {
"$ref": "#/definitions/ValueMappings"
},
"max": {
"$ref": "#/definitions/ConfFloat64"
},
"min": {
"$ref": "#/definitions/ConfFloat64"
},
"noValue": {
"description": "Alternative to empty string",
"type": "string"
},
"path": {
"description": "Path is an explicit path to the field in the datasource. When the frame meta includes a path,\nthis will default to `${frame.meta.path}/${field.name}\n\nWhen defined, this value can be used as an identifier within the datasource scope, and\nmay be used as an identifier to update values in a subsequent request",
"type": "string"
},
"thresholds": {
"$ref": "#/definitions/ThresholdsConfig"
},
"type": {
"$ref": "#/definitions/FieldTypeConfig"
},
"unit": {
"description": "Numeric Options",
"type": "string"
},
"writeable": {
"description": "Writeable indicates that the datasource knows how to update this value",
"type": "boolean"
}
}
},
"FieldTypeConfig": {
"description": "FieldTypeConfig has type specific configs, only one should be active at a time",
"type": "object",
"properties": {
"enum": {
"$ref": "#/definitions/EnumFieldConfig"
}
}
},
"FindTagsResult": {
"type": "object",
"title": "FindTagsResult is the result of a tags search.",
"properties": {
"tags": {
"type": "array",
"items": {
"$ref": "#/definitions/TagsDTO"
}
}
}
},
"Folder": {
"type": "object",
"properties": {
"accessControl": {
"$ref": "#/definitions/Metadata"
},
"canAdmin": {
"type": "boolean"
},
"canDelete": {
"type": "boolean"
},
"canEdit": {
"type": "boolean"
},
"canSave": {
"type": "boolean"
},
"created": {
"type": "string",
"format": "date-time"
},
"createdBy": {
"type": "string"
},
"hasAcl": {
"type": "boolean"
},
"id": {
"description": "Deprecated: use UID instead",
"type": "integer",
"format": "int64"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"parentUid": {
"description": "only used if nested folders are enabled",
"type": "string"
},
"parents": {
"description": "the parent folders starting from the root going down",
"type": "array",
"items": {
"$ref": "#/definitions/Folder"
}
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
},
"updatedBy": {
"type": "string"
},
"url": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"FolderSearchHit": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"parentUid": {
"type": "string"
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"Frame": {
"description": "Each Field is well typed by its FieldType and supports optional Labels.\n\nA Frame is a general data container for Grafana. A Frame can be table data\nor time series data depending on its content and field types.",
"type": "object",
"title": "Frame is a columnar data structure where each column is a Field.",
"properties": {
"Fields": {
"description": "Fields are the columns of a frame.\nAll Fields must be of the same the length when marshalling the Frame for transmission.\nThere should be no `nil` entries in the Fields slice (making them pointers was a mistake).",
"type": "array",
"items": {
"$ref": "#/definitions/Field"
}
},
"Meta": {
"$ref": "#/definitions/FrameMeta"
},
"Name": {
"description": "Name is used in some Grafana visualizations.",
"type": "string"
},
"RefID": {
"description": "RefID is a property that can be set to match a Frame to its originating query.",
"type": "string"
}
}
},
"FrameLabels": {
"description": "Labels are used to add metadata to an object. The JSON will always be sorted keys",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"FrameMeta": {
"description": "https://github.com/grafana/grafana/blob/master/packages/grafana-data/src/types/data.ts#L11\nNOTE -- in javascript this can accept any `[key: string]: any;` however\nthis interface only exposes the values we want to be exposed",
"type": "object",
"title": "FrameMeta matches:",
"properties": {
"channel": {
"description": "Channel is the path to a stream in grafana live that has real-time updates for this data.",
"type": "string"
},
"custom": {
"description": "Custom datasource specific values."
},
"dataTopic": {
"$ref": "#/definitions/DataTopic"
},
"executedQueryString": {
"description": "ExecutedQueryString is the raw query sent to the underlying system. All macros and templating\nhave been applied. When metadata contains this value, it will be shown in the query inspector.",
"type": "string"
},
"notices": {
"description": "Notices provide additional information about the data in the Frame that\nGrafana can display to the user in the user interface.",
"type": "array",
"items": {
"$ref": "#/definitions/Notice"
}
},
"path": {
"description": "Path is a browsable path on the datasource.",
"type": "string"
},
"pathSeparator": {
"description": "PathSeparator defines the separator pattern to decode a hierarchy. The default separator is '/'.",
"type": "string"
},
"preferredVisualisationPluginId": {
"description": "PreferredVisualizationPluginId sets the panel plugin id to use to render the data when using Explore. If\nthe plugin cannot be found will fall back to PreferredVisualization.",
"type": "string"
},
"preferredVisualisationType": {
"$ref": "#/definitions/VisType"
},
"stats": {
"description": "Stats is an array of query result statistics.",
"type": "array",
"items": {
"$ref": "#/definitions/QueryStat"
}
},
"type": {
"$ref": "#/definitions/FrameType"
},
"typeVersion": {
"$ref": "#/definitions/FrameTypeVersion"
},
"uniqueRowIdFields": {
"description": "Array of field indices which values create a unique id for each row. Ideally this should be globally unique ID\nbut that isn't guarantied. Should help with keeping track and deduplicating rows in visualizations, especially\nwith streaming data with frequent updates.",
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": "TraceID in Tempo, table name + primary key in SQL"
}
}
},
"FrameType": {
"description": "A FrameType string, when present in a frame's metadata, asserts that the\nframe's structure conforms to the FrameType's specification.\nThis property is currently optional, so FrameType may be FrameTypeUnknown even if the properties of\nthe Frame correspond to a defined FrameType.\n+enum",
"type": "string"
},
"FrameTypeVersion": {
"type": "array",
"title": "FrameType is a 2 number version (Major / Minor).",
"items": {
"type": "integer",
"format": "uint64"
}
},
"Frames": {
"description": "It is the main data container within a backend.DataResponse.\nThere should be no `nil` entries in the Frames slice (making them pointers was a mistake).",
"type": "array",
"title": "Frames is a slice of Frame pointers.",
"items": {
"$ref": "#/definitions/Frame"
}
},
"GetAccessTokenResponseDTO": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"displayName": {
"type": "string"
},
"expiresAt": {
"type": "string"
},
"firstUsedAt": {
"type": "string"
},
"id": {
"type": "string"
},
"lastUsedAt": {
"type": "string"
}
}
},
"GetAnnotationTagsResponse": {
"type": "object",
"title": "GetAnnotationTagsResponse is a response struct for FindTagsResult.",
"properties": {
"result": {
"$ref": "#/definitions/FindTagsResult"
}
}
},
"GetHomeDashboardResponse": {
"title": "Get home dashboard response.",
"allOf": [
{
"type": "object",
"properties": {
"dashboard": {
"$ref": "#/definitions/Json"
},
"meta": {
"$ref": "#/definitions/DashboardMeta"
}
}
},
{
"type": "object",
"properties": {
"redirectUri": {
"type": "string"
}
}
}
]
},
"GetSnapshotResponseDTO": {
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"finished": {
"type": "string",
"format": "date-time"
},
"results": {
"type": "array",
"items": {
"$ref": "#/definitions/MigrateDataResponseItemDTO"
}
},
"sessionUid": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"INITIALIZING",
"CREATING",
"PENDING_UPLOAD",
"UPLOADING",
"PENDING_PROCESSING",
"PROCESSING",
"FINISHED",
"ERROR",
"UNKNOWN"
]
},
"uid": {
"type": "string"
}
}
},
"Hit": {
"type": "object",
"properties": {
"folderId": {
"type": "integer",
"format": "int64"
},
"folderTitle": {
"type": "string"
},
"folderUid": {
"type": "string"
},
"folderUrl": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"isDeleted": {
"type": "boolean"
},
"isStarred": {
"type": "boolean"
},
"permanentlyDeleteDate": {
"type": "string",
"format": "date-time"
},
"slug": {
"type": "string"
},
"sortMeta": {
"type": "integer",
"format": "int64"
},
"sortMetaName": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"title": {
"type": "string"
},
"type": {
"$ref": "#/definitions/HitType"
},
"uid": {
"type": "string"
},
"uri": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"HitList": {
"type": "array",
"items": {
"$ref": "#/definitions/Hit"
}
},
"HitType": {
"type": "string"
},
"IPMask": {
"description": "See type [IPNet] and func [ParseCIDR] for details.",
"type": "array",
"title": "An IPMask is a bitmask that can be used to manipulate\nIP addresses for IP addressing and routing.",
"items": {
"type": "integer",
"format": "uint8"
}
},
"IPNet": {
"type": "object",
"title": "An IPNet represents an IP network.",
"properties": {
"IP": {
"type": "string"
},
"Mask": {
"$ref": "#/definitions/IPMask"
}
}
},
"ImportDashboardInput": {
"type": "object",
"title": "ImportDashboardInput definition of input parameters when importing a dashboard.",
"properties": {
"name": {
"type": "string"
},
"pluginId": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"ImportDashboardRequest": {
"type": "object",
"title": "ImportDashboardRequest request object for importing a dashboard.",
"properties": {
"dashboard": {
"$ref": "#/definitions/Json"
},
"folderId": {
"description": "Deprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderUid": {
"type": "string"
},
"inputs": {
"type": "array",
"items": {
"$ref": "#/definitions/ImportDashboardInput"
}
},
"overwrite": {
"type": "boolean"
},
"path": {
"type": "string"
},
"pluginId": {
"type": "string"
}
}
},
"ImportDashboardResponse": {
"type": "object",
"title": "ImportDashboardResponse response object returned when importing a dashboard.",
"properties": {
"dashboardId": {
"type": "integer",
"format": "int64"
},
"description": {
"type": "string"
},
"folderId": {
"description": "Deprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderUid": {
"type": "string"
},
"imported": {
"type": "boolean"
},
"importedRevision": {
"type": "integer",
"format": "int64"
},
"importedUri": {
"type": "string"
},
"importedUrl": {
"type": "string"
},
"path": {
"type": "string"
},
"pluginId": {
"type": "string"
},
"removed": {
"type": "boolean"
},
"revision": {
"type": "integer",
"format": "int64"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"InspectType": {
"type": "integer",
"format": "int64",
"title": "InspectType is a type for the Inspect property of a Notice."
},
"InternalDataLink": {
"description": "InternalDataLink definition to allow Explore links to be constructed in the backend",
"type": "object",
"properties": {
"datasourceName": {
"type": "string"
},
"datasourceUid": {
"type": "string"
},
"panelsState": {
"$ref": "#/definitions/ExplorePanelsState"
},
"query": {},
"timeRange": {
"$ref": "#/definitions/TimeRange"
},
"transformations": {
"type": "array",
"items": {
"$ref": "#/definitions/LinkTransformationConfig"
}
}
}
},
"JSONWebKey": {
"description": "JSONWebKey represents a public or private key in JWK format. It can be\nmarshaled into JSON and unmarshaled from JSON.",
"type": "object",
"properties": {
"Algorithm": {
"description": "Key algorithm, parsed from `alg` header.",
"type": "string"
},
"CertificateThumbprintSHA1": {
"description": "X.509 certificate thumbprint (SHA-1), parsed from `x5t` header.",
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"CertificateThumbprintSHA256": {
"description": "X.509 certificate thumbprint (SHA-256), parsed from `x5t#S256` header.",
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
},
"Certificates": {
"description": "X.509 certificate chain, parsed from `x5c` header.",
"type": "array",
"items": {
"$ref": "#/definitions/Certificate"
}
},
"CertificatesURL": {
"$ref": "#/definitions/URL"
},
"Key": {
"description": "Key is the Go in-memory representation of this key. It must have one\nof these types:\ned25519.PublicKey\ned25519.PrivateKey\necdsa.PublicKey\necdsa.PrivateKey\nrsa.PublicKey\nrsa.PrivateKey\n[]byte (a symmetric key)\n\nWhen marshaling this JSONWebKey into JSON, the \"kty\" header parameter\nwill be automatically set based on the type of this field."
},
"KeyID": {
"description": "Key identifier, parsed from `kid` header.",
"type": "string"
},
"Use": {
"description": "Key use, parsed from `use` header.",
"type": "string"
}
}
},
"Json": {
"type": "object"
},
"KeyUsage": {
"description": "KeyUsage represents the set of actions that are valid for a given key. It's\na bitmap of the KeyUsage* constants.",
"type": "integer",
"format": "int64"
},
"LibraryElementArrayResponse": {
"type": "object",
"title": "LibraryElementArrayResponse is a response struct for an array of LibraryElementDTO.",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/LibraryElementDTO"
}
}
}
},
"LibraryElementConnectionDTO": {
"type": "object",
"title": "LibraryElementConnectionDTO is the frontend DTO for element connections.",
"properties": {
"connectionId": {
"type": "integer",
"format": "int64"
},
"connectionUid": {
"type": "string"
},
"created": {
"type": "string",
"format": "date-time"
},
"createdBy": {
"$ref": "#/definitions/LibraryElementDTOMetaUser"
},
"elementId": {
"type": "integer",
"format": "int64"
},
"id": {
"type": "integer",
"format": "int64"
},
"kind": {
"type": "integer",
"format": "int64"
}
}
},
"LibraryElementConnectionsResponse": {
"type": "object",
"title": "LibraryElementConnectionsResponse is a response struct for an array of LibraryElementConnectionDTO.",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/LibraryElementConnectionDTO"
}
}
}
},
"LibraryElementDTO": {
"type": "object",
"title": "LibraryElementDTO is the frontend DTO for entities.",
"properties": {
"description": {
"type": "string"
},
"folderId": {
"description": "Deprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderUid": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"kind": {
"type": "integer",
"format": "int64"
},
"meta": {
"$ref": "#/definitions/LibraryElementDTOMeta"
},
"model": {
"type": "object"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"schemaVersion": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "string"
},
"uid": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"LibraryElementDTOMeta": {
"type": "object",
"title": "LibraryElementDTOMeta is the meta information for LibraryElementDTO.",
"properties": {
"connectedDashboards": {
"type": "integer",
"format": "int64"
},
"created": {
"type": "string",
"format": "date-time"
},
"createdBy": {
"$ref": "#/definitions/LibraryElementDTOMetaUser"
},
"folderName": {
"type": "string"
},
"folderUid": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
},
"updatedBy": {
"$ref": "#/definitions/LibraryElementDTOMetaUser"
}
}
},
"LibraryElementDTOMetaUser": {
"type": "object",
"title": "LibraryElementDTOMetaUser defines model for LibraryElementDTOMetaUser.",
"properties": {
"avatarUrl": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
}
}
},
"LibraryElementResponse": {
"type": "object",
"title": "LibraryElementResponse is a response struct for LibraryElementDTO.",
"properties": {
"result": {
"$ref": "#/definitions/LibraryElementDTO"
}
}
},
"LibraryElementSearchResponse": {
"type": "object",
"title": "LibraryElementSearchResponse is a response struct for LibraryElementSearchResult.",
"properties": {
"result": {
"$ref": "#/definitions/LibraryElementSearchResult"
}
}
},
"LibraryElementSearchResult": {
"type": "object",
"title": "LibraryElementSearchResult is the search result for entities.",
"properties": {
"elements": {
"type": "array",
"items": {
"$ref": "#/definitions/LibraryElementDTO"
}
},
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"totalCount": {
"type": "integer",
"format": "int64"
}
}
},
"LinkTransformationConfig": {
"type": "object",
"properties": {
"expression": {
"type": "string"
},
"field": {
"type": "string"
},
"mapValue": {
"type": "string"
},
"type": {
"$ref": "#/definitions/SupportedTransformationTypes"
}
}
},
"MassDeleteAnnotationsCmd": {
"type": "object",
"properties": {
"annotationId": {
"type": "integer",
"format": "int64"
},
"dashboardId": {
"type": "integer",
"format": "int64"
},
"dashboardUID": {
"type": "string"
},
"panelId": {
"type": "integer",
"format": "int64"
}
}
},
"Metadata": {
"description": "Metadata contains user accesses for a given resource\nEx: map[string]bool{\"create\":true, \"delete\": true}",
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"MetricRequest": {
"type": "object",
"required": [
"from",
"to",
"queries"
],
"properties": {
"debug": {
"type": "boolean"
},
"from": {
"description": "From Start time in epoch timestamps in milliseconds or relative using Grafana time units.",
"type": "string",
"example": "now-1h"
},
"queries": {
"description": "queries.refId Specifies an identifier of the query. Is optional and default to “A”.\nqueries.datasourceId Specifies the data source to be queried. Each query in the request must have an unique datasourceId.\nqueries.maxDataPoints - Species maximum amount of data points that dashboard panel can render. Is optional and default to 100.\nqueries.intervalMs - Specifies the time interval in milliseconds of time series. Is optional and defaults to 1000.",
"type": "array",
"items": {
"$ref": "#/definitions/Json"
},
"example": [
{
"datasource": {
"uid": "PD8C576611E62080A"
},
"format": "table",
"intervalMs": 86400000,
"maxDataPoints": 1092,
"rawSql": "SELECT 1 as valueOne, 2 as valueTwo",
"refId": "A"
}
]
},
"to": {
"description": "To End time in epoch timestamps in milliseconds or relative using Grafana time units.",
"type": "string",
"example": "now"
}
}
},
"MigrateDataResponseDTO": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/MigrateDataResponseItemDTO"
}
},
"uid": {
"type": "string"
}
}
},
"MigrateDataResponseItemDTO": {
"type": "object",
"required": [
"type",
"refId",
"status"
],
"properties": {
"error": {
"type": "string"
},
"refId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"OK",
"ERROR",
"PENDING",
"UNKNOWN"
]
},
"type": {
"type": "string",
"enum": [
"DASHBOARD",
"DATASOURCE",
"FOLDER"
]
}
}
},
"MigrateDataResponseListDTO": {
"type": "object",
"properties": {
"uid": {
"type": "string"
}
}
},
"MoveFolderCommand": {
"description": "MoveFolderCommand captures the information required by the folder service\nto move a folder.",
"type": "object",
"properties": {
"parentUid": {
"type": "string"
}
}
},
"Name": {
"description": "Name represents an X.509 distinguished name. This only includes the common\nelements of a DN. Note that Name is only an approximation of the X.509\nstructure. If an accurate representation is needed, asn1.Unmarshal the raw\nsubject or issuer as an [RDNSequence].",
"type": "object",
"properties": {
"Country": {
"type": "array",
"items": {
"type": "string"
}
},
"ExtraNames": {
"description": "ExtraNames contains attributes to be copied, raw, into any marshaled\ndistinguished names. Values override any attributes with the same OID.\nThe ExtraNames field is not populated when parsing, see Names.",
"type": "array",
"items": {
"$ref": "#/definitions/AttributeTypeAndValue"
}
},
"Locality": {
"type": "array",
"items": {
"type": "string"
}
},
"Names": {
"description": "Names contains all parsed attributes. When parsing distinguished names,\nthis can be used to extract non-standard attributes that are not parsed\nby this package. When marshaling to RDNSequences, the Names field is\nignored, see ExtraNames.",
"type": "array",
"items": {
"$ref": "#/definitions/AttributeTypeAndValue"
}
},
"SerialNumber": {
"type": "string"
},
"StreetAddress": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"NewApiKeyResult": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"key": {
"type": "string",
"example": "glsa_yscW25imSKJIuav8zF37RZmnbiDvB05G_fcaaf58a"
},
"name": {
"type": "string",
"example": "grafana"
}
}
},
"Notice": {
"type": "object",
"title": "Notice provides a structure for presenting notifications in Grafana's user interface.",
"properties": {
"inspect": {
"$ref": "#/definitions/InspectType"
},
"link": {
"description": "Link is an optional link for display in the user interface and can be an\nabsolute URL or a path relative to Grafana's root url.",
"type": "string"
},
"severity": {
"$ref": "#/definitions/NoticeSeverity"
},
"text": {
"description": "Text is freeform descriptive text for the notice.",
"type": "string"
}
}
},
"NoticeSeverity": {
"type": "integer",
"format": "int64",
"title": "NoticeSeverity is a type for the Severity property of a Notice."
},
"OID": {
"type": "object",
"title": "An OID represents an ASN.1 OBJECT IDENTIFIER."
},
"ObjectIdentifier": {
"type": "array",
"title": "An ObjectIdentifier represents an ASN.1 OBJECT IDENTIFIER.",
"items": {
"type": "integer",
"format": "int64"
}
},
"ObjectMatcher": {
"type": "array",
"title": "ObjectMatcher is a matcher that can be used to filter alerts.",
"items": {
"type": "string"
}
},
"ObjectMatchers": {
"type": "array",
"title": "ObjectMatchers is a list of matchers that can be used to filter alerts.",
"items": {
"$ref": "#/definitions/ObjectMatcher"
}
},
"OrgDTO": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
}
}
},
"OrgDetailsDTO": {
"type": "object",
"properties": {
"address": {
"$ref": "#/definitions/Address"
},
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
}
}
},
"OrgUserDTO": {
"type": "object",
"properties": {
"accessControl": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"authLabels": {
"type": "array",
"items": {
"type": "string"
}
},
"avatarUrl": {
"type": "string"
},
"email": {
"type": "string"
},
"isDisabled": {
"type": "boolean"
},
"isExternallySynced": {
"type": "boolean"
},
"lastSeenAt": {
"type": "string",
"format": "date-time"
},
"lastSeenAtAge": {
"type": "string"
},
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"role": {
"type": "string"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"Password": {
"type": "string"
},
"PatchAnnotationsCmd": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/Json"
},
"id": {
"type": "integer",
"format": "int64"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
},
"time": {
"type": "integer",
"format": "int64"
},
"timeEnd": {
"type": "integer",
"format": "int64"
}
}
},
"PatchLibraryElementCommand": {
"description": "PatchLibraryElementCommand is the command for patching a LibraryElement",
"type": "object",
"properties": {
"folderId": {
"description": "ID of the folder where the library element is stored.\n\nDeprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderUid": {
"description": "UID of the folder where the library element is stored.",
"type": "string"
},
"kind": {
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
"type": "integer",
"format": "int64",
"enum": [
1,
2
]
},
"model": {
"description": "The JSON model for the library element.",
"type": "object"
},
"name": {
"description": "Name of the library element.",
"type": "string"
},
"uid": {
"type": "string"
},
"version": {
"description": "Version of the library element you are updating.",
"type": "integer",
"format": "int64"
}
}
},
"PatchPrefsCmd": {
"type": "object",
"properties": {
"cookies": {
"type": "array",
"items": {
"$ref": "#/definitions/CookieType"
}
},
"homeDashboardId": {
"description": "The numerical :id of a favorited dashboard",
"type": "integer",
"format": "int64",
"default": 0
},
"homeDashboardUID": {
"type": "string"
},
"language": {
"type": "string"
},
"queryHistory": {
"$ref": "#/definitions/QueryHistoryPreference"
},
"theme": {
"type": "string",
"enum": [
"light",
"dark"
]
},
"timezone": {
"type": "string",
"enum": [
"utc",
"browser"
]
},
"weekStart": {
"type": "string"
}
}
},
"PatchQueryCommentInQueryHistoryCommand": {
"description": "PatchQueryCommentInQueryHistoryCommand is the command for updating comment for query in query history",
"type": "object",
"properties": {
"comment": {
"description": "Updated comment",
"type": "string"
}
}
},
"Permission": {
"type": "object",
"title": "Permission is the model for access control permissions.",
"properties": {
"action": {
"type": "string"
},
"created": {
"type": "string",
"format": "date-time"
},
"scope": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
}
}
},
"PermissionType": {
"type": "integer",
"format": "int64"
},
"Playlist": {
"description": "Playlist model",
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"interval": {
"type": "string"
},
"name": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"PlaylistDTO": {
"type": "object",
"properties": {
"interval": {
"description": "Interval sets the time between switching views in a playlist.",
"type": "string"
},
"items": {
"description": "The ordered list of items that the playlist will iterate over.",
"type": "array",
"items": {
"$ref": "#/definitions/PlaylistItemDTO"
}
},
"name": {
"description": "Name of the playlist.",
"type": "string"
},
"uid": {
"description": "Unique playlist identifier. Generated on creation, either by the\ncreator of the playlist of by the application.",
"type": "string"
}
}
},
"PlaylistDashboard": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"order": {
"type": "integer",
"format": "int64"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"uri": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"PlaylistDashboardsSlice": {
"type": "array",
"items": {
"$ref": "#/definitions/PlaylistDashboard"
}
},
"PlaylistItem": {
"type": "object",
"properties": {
"Id": {
"type": "integer",
"format": "int64"
},
"PlaylistId": {
"type": "integer",
"format": "int64"
},
"order": {
"type": "integer",
"format": "int64"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"PlaylistItemDTO": {
"type": "object",
"properties": {
"title": {
"description": "Title is an unused property -- it will be removed in the future",
"type": "string"
},
"type": {
"description": "Type of the item.",
"type": "string"
},
"value": {
"description": "Value depends on type and describes the playlist item.\n\ndashboard_by_id: The value is an internal numerical identifier set by Grafana. This\nis not portable as the numerical identifier is non-deterministic between different instances.\nWill be replaced by dashboard_by_uid in the future. (deprecated)\ndashboard_by_tag: The value is a tag which is set on any number of dashboards. All\ndashboards behind the tag will be added to the playlist.\ndashboard_by_uid: The value is the dashboard UID",
"type": "string"
}
}
},
"Playlists": {
"type": "array",
"items": {
"$ref": "#/definitions/Playlist"
}
},
"PostAnnotationsCmd": {
"type": "object",
"required": [
"text"
],
"properties": {
"dashboardId": {
"type": "integer",
"format": "int64"
},
"dashboardUID": {
"type": "string"
},
"data": {
"$ref": "#/definitions/Json"
},
"panelId": {
"type": "integer",
"format": "int64"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
},
"time": {
"type": "integer",
"format": "int64"
},
"timeEnd": {
"type": "integer",
"format": "int64"
}
}
},
"PostGraphiteAnnotationsCmd": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"tags": {},
"what": {
"type": "string"
},
"when": {
"type": "integer",
"format": "int64"
}
}
},
"Preferences": {
"description": "Spec defines user, team or org Grafana preferences",
"type": "object",
"properties": {
"cookiePreferences": {
"$ref": "#/definitions/CookiePreferences"
},
"homeDashboardUID": {
"description": "UID for the home dashboard",
"type": "string"
},
"language": {
"description": "Selected language (beta)",
"type": "string"
},
"queryHistory": {
"$ref": "#/definitions/QueryHistoryPreference"
},
"theme": {
"description": "Theme light, dark, empty is default",
"type": "string"
},
"timezone": {
"description": "The timezone selection\nTODO: this should use the timezone defined in common",
"type": "string"
},
"weekStart": {
"description": "WeekStart day of the week (sunday, monday, etc)",
"type": "string"
}
}
},
"PrometheusRemoteWriteTargetJSON": {
"type": "object",
"properties": {
"data_source_uid": {
"type": "string"
},
"id": {
"type": "string"
},
"remote_write_path": {
"type": "string"
}
}
},
"PublicDashboard": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
},
"annotationsEnabled": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"createdBy": {
"type": "integer",
"format": "int64"
},
"dashboardUid": {
"type": "string"
},
"isEnabled": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"$ref": "#/definitions/EmailDTO"
}
},
"share": {
"$ref": "#/definitions/ShareType"
},
"timeSelectionEnabled": {
"type": "boolean"
},
"uid": {
"type": "string"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"updatedBy": {
"type": "integer",
"format": "int64"
}
}
},
"PublicDashboardDTO": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
},
"annotationsEnabled": {
"type": "boolean"
},
"isEnabled": {
"type": "boolean"
},
"share": {
"$ref": "#/definitions/ShareType"
},
"timeSelectionEnabled": {
"type": "boolean"
},
"uid": {
"type": "string"
}
}
},
"PublicDashboardListResponse": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
},
"dashboardUid": {
"type": "string"
},
"isEnabled": {
"type": "boolean"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"PublicDashboardListResponseWithPagination": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"publicDashboards": {
"type": "array",
"items": {
"$ref": "#/definitions/PublicDashboardListResponse"
}
},
"totalCount": {
"type": "integer",
"format": "int64"
}
}
},
"PublicKeyAlgorithm": {
"type": "integer",
"format": "int64"
},
"QueryDataResponse": {
"description": "It is the return type of a QueryData call.",
"type": "object",
"title": "QueryDataResponse contains the results from a QueryDataRequest.",
"properties": {
"results": {
"$ref": "#/definitions/Responses"
}
}
},
"QueryHistoryDTO": {
"type": "object",
"properties": {
"comment": {
"type": "string"
},
"createdAt": {
"type": "integer",
"format": "int64"
},
"createdBy": {
"type": "integer",
"format": "int64"
},
"datasourceUid": {
"type": "string"
},
"queries": {
"$ref": "#/definitions/Json"
},
"starred": {
"type": "boolean"
},
"uid": {
"type": "string"
}
}
},
"QueryHistoryDeleteQueryResponse": {
"description": "QueryHistoryDeleteQueryResponse is the response struct for deleting a query from query history",
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
}
}
},
"QueryHistoryPreference": {
"type": "object",
"title": "QueryHistoryPreference defines model for QueryHistoryPreference.",
"properties": {
"homeTab": {
"description": "HomeTab one of: '' | 'query' | 'starred';",
"type": "string"
}
}
},
"QueryHistoryResponse": {
"description": "QueryHistoryResponse is a response struct for QueryHistoryDTO",
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/QueryHistoryDTO"
}
}
},
"QueryHistorySearchResponse": {
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/QueryHistorySearchResult"
}
}
},
"QueryHistorySearchResult": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"queryHistory": {
"type": "array",
"items": {
"$ref": "#/definitions/QueryHistoryDTO"
}
},
"totalCount": {
"type": "integer",
"format": "int64"
}
}
},
"QueryStat": {
"description": "The embedded FieldConfig's display name must be set.\nIt corresponds to the QueryResultMetaStat on the frontend (https://github.com/grafana/grafana/blob/master/packages/grafana-data/src/types/data.ts#L53).",
"type": "object",
"title": "QueryStat is used for storing arbitrary statistics metadata related to a query and its result, e.g. total request time, data processing time.",
"properties": {
"color": {
"description": "Map values to a display color\nNOTE: this interface is under development in the frontend... so simple map for now",
"type": "object",
"additionalProperties": {}
},
"custom": {
"description": "Panel Specific Values",
"type": "object",
"additionalProperties": {}
},
"decimals": {
"type": "integer",
"format": "uint16"
},
"description": {
"description": "Description is human readable field metadata",
"type": "string"
},
"displayName": {
"description": "DisplayName overrides Grafana default naming, should not be used from a data source",
"type": "string"
},
"displayNameFromDS": {
"description": "DisplayNameFromDS overrides Grafana default naming strategy.",
"type": "string"
},
"filterable": {
"description": "Filterable indicates if the Field's data can be filtered by additional calls.",
"type": "boolean"
},
"interval": {
"description": "Interval indicates the expected regular step between values in the series.\nWhen an interval exists, consumers can identify \"missing\" values when the expected value is not present.\nThe grafana timeseries visualization will render disconnected values when missing values are found it the time field.\nThe interval uses the same units as the values. For time.Time, this is defined in milliseconds.",
"type": "number",
"format": "double"
},
"links": {
"description": "The behavior when clicking on a result",
"type": "array",
"items": {
"$ref": "#/definitions/DataLink"
}
},
"mappings": {
"$ref": "#/definitions/ValueMappings"
},
"max": {
"$ref": "#/definitions/ConfFloat64"
},
"min": {
"$ref": "#/definitions/ConfFloat64"
},
"noValue": {
"description": "Alternative to empty string",
"type": "string"
},
"path": {
"description": "Path is an explicit path to the field in the datasource. When the frame meta includes a path,\nthis will default to `${frame.meta.path}/${field.name}\n\nWhen defined, this value can be used as an identifier within the datasource scope, and\nmay be used as an identifier to update values in a subsequent request",
"type": "string"
},
"thresholds": {
"$ref": "#/definitions/ThresholdsConfig"
},
"type": {
"$ref": "#/definitions/FieldTypeConfig"
},
"unit": {
"description": "Numeric Options",
"type": "string"
},
"value": {
"type": "number",
"format": "double"
},
"writeable": {
"description": "Writeable indicates that the datasource knows how to update this value",
"type": "boolean"
}
}
},
"QuotaDTO": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"format": "int64"
},
"org_id": {
"type": "integer",
"format": "int64"
},
"target": {
"type": "string"
},
"used": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "integer",
"format": "int64"
}
}
},
"RecordingRuleJSON": {
"description": "RecordingRuleJSON is the external representation of a recording rule",
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"count": {
"type": "boolean"
},
"description": {
"type": "string"
},
"dest_data_source_uid": {
"type": "string"
},
"id": {
"type": "string"
},
"interval": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"prom_name": {
"type": "string"
},
"queries": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"range": {
"type": "integer",
"format": "int64"
},
"target_ref_id": {
"type": "string"
}
}
},
"Report": {
"description": "ConfigDTO is model representation in transfer",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"dashboards": {
"type": "array",
"items": {
"$ref": "#/definitions/ReportDashboard"
}
},
"enableCsv": {
"type": "boolean"
},
"enableDashboardUrl": {
"type": "boolean"
},
"formats": {
"type": "array",
"items": {
"$ref": "#/definitions/Type"
}
},
"id": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"options": {
"$ref": "#/definitions/ReportOptions"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"recipients": {
"type": "string"
},
"replyTo": {
"type": "string"
},
"scaleFactor": {
"type": "integer",
"format": "int64"
},
"schedule": {
"$ref": "#/definitions/ReportSchedule"
},
"state": {
"$ref": "#/definitions/State"
},
"uid": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"ReportBrandingOptions": {
"type": "object",
"properties": {
"emailFooterLink": {
"type": "string"
},
"emailFooterMode": {
"type": "string"
},
"emailFooterText": {
"type": "string"
},
"emailLogoUrl": {
"type": "string"
},
"reportLogoUrl": {
"type": "string"
}
}
},
"ReportDashboard": {
"type": "object",
"properties": {
"dashboard": {
"$ref": "#/definitions/ReportDashboardID"
},
"reportVariables": {
"type": "object"
},
"timeRange": {
"$ref": "#/definitions/ReportTimeRange"
}
}
},
"ReportDashboardID": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"ReportEmail": {
"type": "object",
"properties": {
"emails": {
"description": "Comma-separated list of emails to which to send the report to.",
"type": "string"
},
"id": {
"description": "Send the report to the emails specified in the report. Required if emails is not present.",
"type": "string",
"format": "int64"
},
"useEmailsFromReport": {
"description": "Send the report to the emails specified in the report. Required if emails is not present.",
"type": "boolean"
}
}
},
"ReportOptions": {
"type": "object",
"properties": {
"layout": {
"type": "string"
},
"orientation": {
"type": "string"
},
"timeRange": {
"$ref": "#/definitions/ReportTimeRange"
}
}
},
"ReportSchedule": {
"type": "object",
"properties": {
"dayOfMonth": {
"type": "string"
},
"endDate": {
"type": "string",
"format": "date-time"
},
"frequency": {
"type": "string"
},
"intervalAmount": {
"type": "integer",
"format": "int64"
},
"intervalFrequency": {
"type": "string"
},
"startDate": {
"type": "string",
"format": "date-time"
},
"timeZone": {
"type": "string"
},
"workdaysOnly": {
"type": "boolean"
}
}
},
"ReportSettings": {
"type": "object",
"properties": {
"branding": {
"$ref": "#/definitions/ReportBrandingOptions"
},
"id": {
"type": "integer",
"format": "int64"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"ReportTimeRange": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
}
},
"Responses": {
"description": "The QueryData method the QueryDataHandler method will set the RefId\nproperty on the DataResponses' frames based on these RefIDs.",
"type": "object",
"title": "Responses is a map of RefIDs (Unique Query ID) to DataResponses.",
"additionalProperties": {
"$ref": "#/definitions/DataResponse"
}
},
"RestoreDashboardVersionCommand": {
"type": "object",
"properties": {
"version": {
"type": "integer",
"format": "int64"
}
}
},
"RestoreDeletedDashboardCommand": {
"type": "object",
"properties": {
"folderUid": {
"type": "string"
}
}
},
"RevokeAuthTokenCmd": {
"type": "object",
"properties": {
"authTokenId": {
"type": "integer",
"format": "int64"
}
}
},
"RoleAssignmentsDTO": {
"type": "object",
"properties": {
"role_uid": {
"type": "string"
},
"service_accounts": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"teams": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"users": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"RoleDTO": {
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"delegatable": {
"type": "boolean"
},
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"global": {
"type": "boolean"
},
"group": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/Permission"
}
},
"uid": {
"type": "string"
},
"updated": {
"type": "string",
"format": "date-time"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"RolesSearchQuery": {
"type": "object",
"properties": {
"includeHidden": {
"type": "boolean"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"teamIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"userIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"SaveDashboardCommand": {
"type": "object",
"properties": {
"UpdatedAt": {
"type": "string",
"format": "date-time"
},
"dashboard": {
"$ref": "#/definitions/Json"
},
"folderId": {
"description": "Deprecated: use FolderUID instead",
"type": "integer",
"format": "int64"
},
"folderUid": {
"type": "string"
},
"isFolder": {
"type": "boolean"
},
"message": {
"type": "string"
},
"overwrite": {
"type": "boolean"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"SearchDTO": {
"type": "object",
"properties": {
"action": {
"type": "string"
},
"basicRole": {
"type": "string"
},
"onlyRoles": {
"type": "boolean"
},
"roleName": {
"type": "string"
},
"scope": {
"type": "string"
},
"teamId": {
"type": "string"
},
"userId": {
"type": "string"
}
}
},
"SearchDeviceQueryResult": {
"type": "object",
"properties": {
"devices": {
"type": "array",
"items": {
"$ref": "#/definitions/DeviceSearchHitDTO"
}
},
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"totalCount": {
"type": "integer",
"format": "int64"
}
}
},
"SearchOrgServiceAccountsResult": {
"description": "swagger: model",
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"serviceAccounts": {
"type": "array",
"items": {
"$ref": "#/definitions/ServiceAccountDTO"
}
},
"totalCount": {
"description": "It can be used for pagination of the user list\nE.g. if totalCount is equal to 100 users and\nthe perpage parameter is set to 10 then there are 10 pages of users.",
"type": "integer",
"format": "int64"
}
}
},
"SearchOrgUsersQueryResult": {
"type": "object",
"properties": {
"orgUsers": {
"type": "array",
"items": {
"$ref": "#/definitions/OrgUserDTO"
}
},
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"totalCount": {
"type": "integer",
"format": "int64"
}
}
},
"SearchResult": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/SearchResultItem"
}
}
}
},
"SearchResultItem": {
"type": "object",
"properties": {
"action": {
"type": "string"
},
"basicRole": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"roleName": {
"type": "string"
},
"scope": {
"type": "string"
},
"teamId": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "integer",
"format": "int64"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"SearchTeamQueryResult": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"teams": {
"type": "array",
"items": {
"$ref": "#/definitions/TeamDTO"
}
},
"totalCount": {
"type": "integer",
"format": "int64"
}
}
},
"SearchUserQueryResult": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int64"
},
"perPage": {
"type": "integer",
"format": "int64"
},
"totalCount": {
"type": "integer",
"format": "int64"
},
"users": {
"type": "array",
"items": {
"$ref": "#/definitions/UserSearchHitDTO"
}
}
}
},
"ServiceAccountDTO": {
"description": "swagger: model",
"type": "object",
"properties": {
"accessControl": {
"type": "object",
"additionalProperties": {
"type": "boolean"
},
"example": {
"serviceaccounts:delete": true,
"serviceaccounts:read": true,
"serviceaccounts:write": true
}
},
"avatarUrl": {
"type": "string",
"example": "/avatar/85ec38023d90823d3e5b43ef35646af9"
},
"id": {
"type": "integer",
"format": "int64"
},
"isDisabled": {
"type": "boolean",
"example": false
},
"isExternal": {
"type": "boolean",
"example": false
},
"login": {
"type": "string",
"example": "sa-grafana"
},
"name": {
"type": "string",
"example": "grafana"
},
"orgId": {
"type": "integer",
"format": "int64",
"example": 1
},
"role": {
"type": "string",
"example": "Viewer"
},
"tokens": {
"type": "integer",
"format": "int64",
"example": 0
}
}
},
"ServiceAccountProfileDTO": {
"type": "object",
"properties": {
"accessControl": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"avatarUrl": {
"type": "string",
"example": "/avatar/8ea890a677d6a223c591a1beea6ea9d2"
},
"createdAt": {
"type": "string",
"format": "date-time",
"example": "2022-03-21T14:35:33Z"
},
"id": {
"type": "integer",
"format": "int64",
"example": 2
},
"isDisabled": {
"type": "boolean",
"example": false
},
"isExternal": {
"type": "boolean",
"example": false
},
"login": {
"type": "string",
"example": "sa-grafana"
},
"name": {
"type": "string",
"example": "test"
},
"orgId": {
"type": "integer",
"format": "int64",
"example": 1
},
"requiredBy": {
"type": "string",
"example": "grafana-app"
},
"role": {
"type": "string",
"example": "Editor"
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"example": []
},
"tokens": {
"type": "integer",
"format": "int64"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"example": "2022-03-21T14:35:33Z"
}
}
},
"SetResourcePermissionCommand": {
"type": "object",
"properties": {
"builtInRole": {
"type": "string"
},
"permission": {
"type": "string"
},
"teamId": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"SetRoleAssignmentsCommand": {
"type": "object",
"properties": {
"service_accounts": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"teams": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"users": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"SetTeamMembershipsCommand": {
"type": "object",
"properties": {
"admins": {
"type": "array",
"items": {
"type": "string"
}
},
"members": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"SetUserRolesCommand": {
"type": "object",
"properties": {
"global": {
"type": "boolean"
},
"includeHidden": {
"type": "boolean"
},
"roleUids": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"SettingsBag": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"ShareType": {
"type": "string"
},
"SignatureAlgorithm": {
"type": "integer",
"format": "int64"
},
"SnapshotDTO": {
"description": "Base snapshot without results",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"finished": {
"type": "string",
"format": "date-time"
},
"sessionUid": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"INITIALIZING",
"CREATING",
"PENDING_UPLOAD",
"UPLOADING",
"PENDING_PROCESSING",
"PROCESSING",
"FINISHED",
"ERROR",
"UNKNOWN"
]
},
"uid": {
"type": "string"
}
}
},
"SnapshotListResponseDTO": {
"type": "object",
"properties": {
"snapshots": {
"type": "array",
"items": {
"$ref": "#/definitions/SnapshotDTO"
}
}
}
},
"State": {
"description": "+enum",
"type": "string"
},
"Status": {
"type": "integer",
"format": "int64"
},
"SuccessResponseBody": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
},
"SupportedTransformationTypes": {
"type": "string"
},
"SyncResult": {
"type": "object",
"title": "SyncResult holds the result of a sync with LDAP. This gives us information on which users were updated and how.",
"properties": {
"Elapsed": {
"$ref": "#/definitions/Duration"
},
"FailedUsers": {
"type": "array",
"items": {
"$ref": "#/definitions/FailedUser"
}
},
"MissingUserIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
},
"Started": {
"type": "string",
"format": "date-time"
},
"UpdatedUserIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
}
}
}
},
"TagsDTO": {
"type": "object",
"title": "TagsDTO is the frontend DTO for Tag.",
"properties": {
"count": {
"type": "integer",
"format": "int64"
},
"tag": {
"type": "string"
}
}
},
"TeamDTO": {
"type": "object",
"properties": {
"accessControl": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"avatarUrl": {
"type": "string"
},
"email": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"memberCount": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"permission": {
"$ref": "#/definitions/PermissionType"
},
"uid": {
"type": "string"
}
}
},
"TeamGroupDTO": {
"type": "object",
"properties": {
"groupId": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"teamId": {
"type": "integer",
"format": "int64"
}
}
},
"TeamGroupMapping": {
"type": "object",
"properties": {
"groupId": {
"type": "string"
}
}
},
"TeamMemberDTO": {
"type": "object",
"properties": {
"auth_module": {
"type": "string"
},
"avatarUrl": {
"type": "string"
},
"email": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"permission": {
"$ref": "#/definitions/PermissionType"
},
"teamId": {
"type": "integer",
"format": "int64"
},
"teamUID": {
"type": "string"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"TempUserDTO": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"createdOn": {
"type": "string",
"format": "date-time"
},
"email": {
"type": "string"
},
"emailSent": {
"type": "boolean"
},
"emailSentOn": {
"type": "string",
"format": "date-time"
},
"id": {
"type": "integer",
"format": "int64"
},
"invitedByEmail": {
"type": "string"
},
"invitedByLogin": {
"type": "string"
},
"invitedByName": {
"type": "string"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
},
"status": {
"$ref": "#/definitions/TempUserStatus"
},
"url": {
"type": "string"
}
}
},
"TempUserStatus": {
"type": "string"
},
"Threshold": {
"description": "Threshold a single step on the threshold list",
"type": "object",
"properties": {
"color": {
"type": "string"
},
"state": {
"type": "string"
},
"value": {
"$ref": "#/definitions/ConfFloat64"
}
}
},
"ThresholdsConfig": {
"description": "ThresholdsConfig setup thresholds",
"type": "object",
"properties": {
"mode": {
"$ref": "#/definitions/ThresholdsMode"
},
"steps": {
"description": "Must be sorted by 'value', first value is always -Infinity",
"type": "array",
"items": {
"$ref": "#/definitions/Threshold"
}
}
}
},
"ThresholdsMode": {
"description": "ThresholdsMode absolute or percentage",
"type": "string"
},
"TimeRange": {
"description": "Redefining this to avoid an import cycle",
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date-time"
},
"to": {
"type": "string",
"format": "date-time"
}
}
},
"Token": {
"type": "object",
"properties": {
"account": {
"type": "string"
},
"anonymousRatio": {
"type": "integer",
"format": "int64"
},
"company": {
"type": "string"
},
"details_url": {
"type": "string"
},
"exp": {
"type": "integer",
"format": "int64"
},
"iat": {
"type": "integer",
"format": "int64"
},
"included_users": {
"type": "integer",
"format": "int64"
},
"iss": {
"type": "string"
},
"jti": {
"type": "string"
},
"lexp": {
"type": "integer",
"format": "int64"
},
"lic_exp_warn_days": {
"type": "integer",
"format": "int64"
},
"lid": {
"type": "string"
},
"limit_by": {
"type": "string"
},
"max_concurrent_user_sessions": {
"type": "integer",
"format": "int64"
},
"nbf": {
"type": "integer",
"format": "int64"
},
"prod": {
"type": "array",
"items": {
"type": "string"
}
},
"slug": {
"type": "string"
},
"status": {
"$ref": "#/definitions/TokenStatus"
},
"sub": {
"type": "string"
},
"tok_exp_warn_days": {
"type": "integer",
"format": "int64"
},
"trial": {
"type": "boolean"
},
"trial_exp": {
"type": "integer",
"format": "int64"
},
"update_days": {
"type": "integer",
"format": "int64"
},
"usage_billing": {
"type": "boolean"
}
}
},
"TokenDTO": {
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time",
"example": "2022-03-23T10:31:02Z"
},
"expiration": {
"type": "string",
"format": "date-time",
"example": "2022-03-23T10:31:02Z"
},
"hasExpired": {
"type": "boolean",
"example": false
},
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"isRevoked": {
"type": "boolean",
"example": false
},
"lastUsedAt": {
"type": "string",
"format": "date-time",
"example": "2022-03-23T10:31:02Z"
},
"name": {
"type": "string",
"example": "grafana"
},
"secondsUntilExpiration": {
"type": "number",
"format": "double",
"example": 0
}
}
},
"TokenStatus": {
"type": "integer",
"format": "int64"
},
"Transformation": {
"type": "object",
"properties": {
"expression": {
"type": "string"
},
"field": {
"type": "string"
},
"mapValue": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"regex",
"logfmt"
]
}
}
},
"Transformations": {
"type": "array",
"items": {
"$ref": "#/definitions/Transformation"
}
},
"Type": {
"description": "+enum",
"type": "string"
},
"TypeMeta": {
"description": "+k8s:deepcopy-gen=false",
"type": "object",
"title": "TypeMeta describes an individual object in an API response or request\nwith strings representing the type of the object and its API schema version.\nStructures that are versioned or persisted should inline TypeMeta.",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources\n+optional",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\n+optional",
"type": "string"
}
}
},
"URL": {
"description": "The general form represented is:\n\n[scheme:][//[userinfo@]host][/]path[?query][#fragment]\n\nURLs that do not start with a slash after the scheme are interpreted as:\n\nscheme:opaque[?query][#fragment]\n\nThe Host field contains the host and port subcomponents of the URL.\nWhen the port is present, it is separated from the host with a colon.\nWhen the host is an IPv6 address, it must be enclosed in square brackets:\n\"[fe80::1]:80\". The [net.JoinHostPort] function combines a host and port\ninto a string suitable for the Host field, adding square brackets to\nthe host when necessary.\n\nNote that the Path field is stored in decoded form: /%47%6f%2f becomes /Go/.\nA consequence is that it is impossible to tell which slashes in the Path were\nslashes in the raw URL and which were %2f. This distinction is rarely important,\nbut when it is, the code should use the [URL.EscapedPath] method, which preserves\nthe original encoding of Path.\n\nThe RawPath field is an optional field which is only set when the default\nencoding of Path is different from the escaped path. See the EscapedPath method\nfor more details.\n\nURL's String method uses the EscapedPath method to obtain the path.",
"type": "object",
"title": "A URL represents a parsed URL (technically, a URI reference).",
"properties": {
"ForceQuery": {
"type": "boolean"
},
"Fragment": {
"type": "string"
},
"Host": {
"type": "string"
},
"OmitHost": {
"type": "boolean"
},
"Opaque": {
"type": "string"
},
"Path": {
"type": "string"
},
"RawFragment": {
"type": "string"
},
"RawPath": {
"type": "string"
},
"RawQuery": {
"type": "string"
},
"Scheme": {
"type": "string"
},
"User": {
"$ref": "#/definitions/Userinfo"
}
}
},
"Unstructured": {
"description": "Unstructured allows objects that do not have Golang structs registered to be manipulated\ngenerically.",
"type": "object",
"properties": {
"Object": {
"description": "Object is a JSON compatible map with string, float, int, bool, []interface{},\nor map[string]interface{} children.",
"type": "object",
"additionalProperties": {}
}
}
},
"UpdateAnnotationsCmd": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/Json"
},
"id": {
"type": "integer",
"format": "int64"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
},
"time": {
"type": "integer",
"format": "int64"
},
"timeEnd": {
"type": "integer",
"format": "int64"
}
}
},
"UpdateCorrelationCommand": {
"description": "UpdateCorrelationCommand is the command for updating a correlation",
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/CorrelationConfigUpdateDTO"
},
"description": {
"description": "Optional description of the correlation",
"type": "string",
"example": "Logs to Traces"
},
"label": {
"description": "Optional label identifying the correlation",
"type": "string",
"example": "My label"
}
}
},
"UpdateCorrelationResponseBody": {
"type": "object",
"properties": {
"message": {
"type": "string",
"example": "Correlation updated"
},
"result": {
"$ref": "#/definitions/Correlation"
}
}
},
"UpdateDashboardACLCommand": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/DashboardACLUpdateItem"
}
}
}
},
"UpdateDataSourceCommand": {
"description": "Also acts as api DTO",
"type": "object",
"properties": {
"access": {
"$ref": "#/definitions/DsAccess"
},
"basicAuth": {
"type": "boolean"
},
"basicAuthUser": {
"type": "string"
},
"database": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"jsonData": {
"$ref": "#/definitions/Json"
},
"name": {
"type": "string"
},
"secureJsonData": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"type": {
"type": "string"
},
"uid": {
"type": "string"
},
"url": {
"type": "string"
},
"user": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64"
},
"withCredentials": {
"type": "boolean"
}
}
},
"UpdateFolderCommand": {
"description": "UpdateFolderCommand captures the information required by the folder service\nto update a folder. Use Move to update a folder's parent folder.",
"type": "object",
"properties": {
"description": {
"description": "NewDescription it's an optional parameter used for overriding the existing folder description",
"type": "string"
},
"overwrite": {
"description": "Overwrite only used by the legacy folder implementation",
"type": "boolean"
},
"title": {
"description": "NewTitle it's an optional parameter used for overriding the existing folder title",
"type": "string"
},
"version": {
"description": "Version only used by the legacy folder implementation",
"type": "integer",
"format": "int64"
}
}
},
"UpdateOrgAddressForm": {
"type": "object",
"properties": {
"address1": {
"type": "string"
},
"address2": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"state": {
"type": "string"
},
"zipcode": {
"type": "string"
}
}
},
"UpdateOrgForm": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
},
"UpdateOrgUserCommand": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
}
}
},
"UpdatePlaylistCommand": {
"type": "object",
"properties": {
"interval": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/PlaylistItem"
}
},
"name": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"UpdatePrefsCmd": {
"type": "object",
"properties": {
"cookies": {
"type": "array",
"items": {
"$ref": "#/definitions/CookieType"
}
},
"homeDashboardId": {
"description": "The numerical :id of a favorited dashboard",
"type": "integer",
"format": "int64",
"default": 0
},
"homeDashboardUID": {
"type": "string"
},
"language": {
"type": "string"
},
"queryHistory": {
"$ref": "#/definitions/QueryHistoryPreference"
},
"theme": {
"type": "string",
"enum": [
"light",
"dark",
"system"
]
},
"timezone": {
"type": "string",
"enum": [
"utc",
"browser"
]
},
"weekStart": {
"type": "string"
}
}
},
"UpdateQuotaCmd": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"format": "int64"
},
"target": {
"type": "string"
}
}
},
"UpdateRoleCommand": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"global": {
"type": "boolean"
},
"group": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/Permission"
}
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"UpdateServiceAccountForm": {
"type": "object",
"properties": {
"isDisabled": {
"type": "boolean"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
},
"serviceAccountId": {
"type": "integer",
"format": "int64"
}
}
},
"UpdateTeamCommand": {
"type": "object",
"properties": {
"Email": {
"type": "string"
},
"ID": {
"type": "integer",
"format": "int64"
},
"Name": {
"type": "string"
}
}
},
"UpdateTeamMemberCommand": {
"type": "object",
"properties": {
"permission": {
"$ref": "#/definitions/PermissionType"
}
}
},
"UpdateUserCommand": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"theme": {
"type": "string"
}
}
},
"UserLookupDTO": {
"type": "object",
"properties": {
"avatarUrl": {
"type": "string"
},
"login": {
"type": "string"
},
"userId": {
"type": "integer",
"format": "int64"
}
}
},
"UserOrgDTO": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"role": {
"type": "string",
"enum": [
"None",
"Viewer",
"Editor",
"Admin"
]
}
}
},
"UserProfileDTO": {
"type": "object",
"properties": {
"accessControl": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"authLabels": {
"type": "array",
"items": {
"type": "string"
}
},
"avatarUrl": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"email": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"isDisabled": {
"type": "boolean"
},
"isExternal": {
"type": "boolean"
},
"isExternallySynced": {
"type": "boolean"
},
"isGrafanaAdmin": {
"type": "boolean"
},
"isGrafanaAdminExternallySynced": {
"type": "boolean"
},
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"orgId": {
"type": "integer",
"format": "int64"
},
"theme": {
"type": "string"
},
"uid": {
"type": "string"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
}
},
"UserSearchHitDTO": {
"type": "object",
"properties": {
"authLabels": {
"type": "array",
"items": {
"type": "string"
}
},
"avatarUrl": {
"type": "string"
},
"email": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"isAdmin": {
"type": "boolean"
},
"isDisabled": {
"type": "boolean"
},
"lastSeenAt": {
"type": "string",
"format": "date-time"
},
"lastSeenAtAge": {
"type": "string"
},
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"uid": {
"type": "string"
}
}
},
"UserToken": {
"description": "UserToken represents a user token",
"type": "object",
"properties": {
"AuthToken": {
"type": "string"
},
"AuthTokenSeen": {
"type": "boolean"
},
"ClientIp": {
"type": "string"
},
"CreatedAt": {
"type": "integer",
"format": "int64"
},
"Id": {
"type": "integer",
"format": "int64"
},
"PrevAuthToken": {
"type": "string"
},
"RevokedAt": {
"type": "integer",
"format": "int64"
},
"RotatedAt": {
"type": "integer",
"format": "int64"
},
"SeenAt": {
"type": "integer",
"format": "int64"
},
"UnhashedToken": {
"type": "string"
},
"UpdatedAt": {
"type": "integer",
"format": "int64"
},
"UserAgent": {
"type": "string"
},
"UserId": {
"type": "integer",
"format": "int64"
}
}
},
"Userinfo": {
"description": "The Userinfo type is an immutable encapsulation of username and\npassword details for a [URL]. An existing Userinfo value is guaranteed\nto have a username set (potentially empty, as allowed by RFC 2396),\nand optionally a password.",
"type": "object"
},
"ValueMapping": {
"description": "ValueMapping allows mapping input values to text and color",
"type": "object"
},
"ValueMappings": {
"type": "array",
"items": {
"$ref": "#/definitions/ValueMapping"
}
},
"VisType": {
"type": "string",
"title": "VisType is used to indicate how the data should be visualized in explore."
},
"deviceDTO": {
"type": "object",
"properties": {
"avatarUrl": {
"type": "string"
},
"clientIp": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"deviceId": {
"type": "string"
},
"lastSeenAt": {
"type": "string"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"userAgent": {
"type": "string"
}
}
},
"publicError": {
"description": "PublicError is derived from Error and only contains information\navailable to the end user.",
"type": "object",
"required": [
"statusCode",
"messageId"
],
"properties": {
"extra": {
"description": "Extra Additional information about the error",
"type": "object",
"additionalProperties": {}
},
"message": {
"description": "Message A human readable message",
"type": "string"
},
"messageId": {
"description": "MessageID A unique identifier for the error",
"type": "string"
},
"statusCode": {
"description": "StatusCode The HTTP status code returned",
"type": "integer",
"format": "int64"
}
}
},
"resourcePermissionDTO": {
"type": "object",
"properties": {
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"builtInRole": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"isInherited": {
"type": "boolean"
},
"isManaged": {
"type": "boolean"
},
"isServiceAccount": {
"type": "boolean"
},
"permission": {
"type": "string"
},
"roleName": {
"type": "string"
},
"team": {
"type": "string"
},
"teamAvatarUrl": {
"type": "string"
},
"teamId": {
"type": "integer",
"format": "int64"
},
"userAvatarUrl": {
"type": "string"
},
"userId": {
"type": "integer",
"format": "int64"
},
"userLogin": {
"type": "string"
}
}
},
"setPermissionCommand": {
"type": "object",
"properties": {
"permission": {
"type": "string"
}
}
},
"setPermissionsCommand": {
"type": "object",
"properties": {
"permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/SetResourcePermissionCommand"
}
}
}
}
},
"responses": {
"SMTPNotEnabledError": {
"description": ""
},
"acceptedResponse": {
"description": "AcceptedResponse",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"adminCreateUserResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/AdminCreateUserResponse"
}
},
"adminGetSettingsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SettingsBag"
}
},
"adminGetStatsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/AdminStats"
}
},
"adminGetUserAuthTokensResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserToken"
}
}
},
"badRequestError": {
"description": "BadRequestError is returned when the request is invalid and it cannot be processed.",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"badRequestPublicError": {
"description": "BadRequestPublicError is returned when the request is invalid and it cannot be processed.",
"schema": {
"$ref": "#/definitions/publicError"
}
},
"calculateDashboardDiffResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
}
},
"cloudMigrationCreateTokenResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/CreateAccessTokenResponseDTO"
}
},
"cloudMigrationDeleteTokenResponse": {
"description": ""
},
"cloudMigrationGetTokenResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/GetAccessTokenResponseDTO"
}
},
"cloudMigrationRunListResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/CloudMigrationRunListDTO"
}
},
"cloudMigrationRunResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/MigrateDataResponseDTO"
}
},
"cloudMigrationSessionListResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/CloudMigrationSessionListResponseDTO"
}
},
"cloudMigrationSessionResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/CloudMigrationSessionResponseDTO"
}
},
"conflictError": {
"description": "ConflictError",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"contentResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8"
}
}
},
"createCorrelationResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/CreateCorrelationResponseBody"
}
},
"createDashboardSnapshotResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"deleteKey": {
"description": "Unique key used to delete the snapshot. It is different from the key so that only the creator can delete the snapshot.",
"type": "string"
},
"deleteUrl": {
"type": "string"
},
"id": {
"description": "Snapshot id",
"type": "integer",
"format": "int64"
},
"key": {
"description": "Unique key",
"type": "string"
},
"url": {
"type": "string"
}
}
}
},
"createOrUpdateDatasourceResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"id",
"name",
"message",
"datasource"
],
"properties": {
"datasource": {
"$ref": "#/definitions/DataSource"
},
"id": {
"description": "ID Identifier of the new data source.",
"type": "integer",
"format": "int64",
"example": 65
},
"message": {
"description": "Message Message of the deleted dashboard.",
"type": "string",
"example": "Data source added"
},
"name": {
"description": "Name of the new data source.",
"type": "string",
"example": "My Data source"
}
}
}
},
"createOrgResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"orgId",
"message"
],
"properties": {
"message": {
"description": "Message Message of the created org.",
"type": "string",
"example": "Data source added"
},
"orgId": {
"description": "ID Identifier of the created org.",
"type": "integer",
"format": "int64",
"example": 65
}
}
}
},
"createPlaylistResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Playlist"
}
},
"createPublicDashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PublicDashboard"
}
},
"createReportResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
}
}
}
},
"createRoleResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/RoleDTO"
}
},
"createServiceAccountResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/ServiceAccountDTO"
}
},
"createSnapshotResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/CreateSnapshotResponseDTO"
}
},
"createTeamResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"teamId": {
"type": "integer",
"format": "int64"
}
}
}
},
"createTokenResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/NewApiKeyResult"
}
},
"dashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/DashboardFullWithMeta"
}
},
"dashboardVersionResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/DashboardVersionMeta"
}
},
"dashboardVersionsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DashboardVersionMeta"
}
}
},
"deleteCorrelationResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteCorrelationResponseBody"
}
},
"deleteDashboardResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"uid",
"title",
"message"
],
"properties": {
"message": {
"description": "Message Message of the deleted dashboard.",
"type": "string",
"example": "Dashboard My Dashboard deleted"
},
"title": {
"description": "Title Title of the deleted dashboard.",
"type": "string",
"example": "My Dashboard"
},
"uid": {
"description": "UID Identifier of the deleted dashboard.",
"type": "string",
"example": "65"
}
}
}
},
"deleteDataSourceByNameResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"id",
"message"
],
"properties": {
"id": {
"description": "ID Identifier of the deleted data source.",
"type": "integer",
"format": "int64",
"example": 65
},
"message": {
"description": "Message Message of the deleted dashboard.",
"type": "string",
"example": "Dashboard My Dashboard deleted"
}
}
}
},
"deleteFolderResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"id",
"title",
"message"
],
"properties": {
"id": {
"description": "ID Identifier of the deleted folder.",
"type": "integer",
"format": "int64",
"example": 65
},
"message": {
"description": "Message Message of the deleted folder.",
"type": "string",
"example": "Folder My Folder deleted"
},
"title": {
"description": "Title of the deleted folder.",
"type": "string",
"example": "My Folder"
}
}
}
},
"devicesResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/deviceDTO"
}
}
},
"devicesSearchResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SearchDeviceQueryResult"
}
},
"folderResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Folder"
}
},
"forbiddenError": {
"description": "ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"forbiddenPublicError": {
"description": "ForbiddenPublicError is returned if the user/token has insufficient permissions to access the requested resource.",
"schema": {
"$ref": "#/definitions/publicError"
}
},
"genericError": {
"description": "A GenericError is the default error message that is generated.\nFor certain status codes there are more appropriate error structures.",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"getAPIkeyResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ApiKeyDTO"
}
}
},
"getAccessControlStatusResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Status"
}
},
"getAllRolesResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/RoleDTO"
}
}
},
"getAnnotationByIDResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Annotation"
}
},
"getAnnotationTagsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/GetAnnotationTagsResponse"
}
},
"getAnnotationsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Annotation"
}
}
},
"getCorrelationResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Correlation"
}
},
"getCorrelationsBySourceUIDResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Correlation"
}
}
},
"getCorrelationsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Correlation"
}
}
},
"getCurrentOrgResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/OrgDetailsDTO"
}
},
"getDashboardPermissionsListResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DashboardACLInfoDTO"
}
}
},
"getDashboardSnapshotResponse": {
"description": ""
},
"getDashboardsTagsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DashboardTagCloudItem"
}
}
},
"getDataSourceIDResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"description": "ID Identifier of the data source.",
"type": "integer",
"format": "int64",
"example": 65
}
}
}
},
"getDataSourceResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/DataSource"
}
},
"getDataSourcesResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/DataSourceList"
}
},
"getFolderDescendantCountsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/DescendantCounts"
}
},
"getFolderPermissionListResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DashboardACLInfoDTO"
}
}
},
"getFoldersResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/FolderSearchHit"
}
}
},
"getHomeDashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/GetHomeDashboardResponse"
}
},
"getLibraryElementArrayResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/LibraryElementArrayResponse"
}
},
"getLibraryElementConnectionsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/LibraryElementConnectionsResponse"
}
},
"getLibraryElementResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/LibraryElementResponse"
}
},
"getLibraryElementsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/LibraryElementSearchResponse"
}
},
"getLicenseTokenResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Token"
}
},
"getOrgByIDResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/OrgDetailsDTO"
}
},
"getOrgByNameResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/OrgDetailsDTO"
}
},
"getOrgUsersForCurrentOrgLookupResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserLookupDTO"
}
}
},
"getOrgUsersForCurrentOrgResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/OrgUserDTO"
}
}
},
"getOrgUsersResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/OrgUserDTO"
}
}
},
"getPendingOrgInvitesResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TempUserDTO"
}
}
},
"getPlaylistDashboardsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PlaylistDashboardsSlice"
}
},
"getPlaylistItemsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PlaylistItemDTO"
}
}
},
"getPlaylistResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PlaylistDTO"
}
},
"getPreferencesResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Preferences"
}
},
"getPublicAnnotationsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AnnotationEvent"
}
}
},
"getPublicDashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PublicDashboard"
}
},
"getQueryHistoryDeleteQueryResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/QueryHistoryDeleteQueryResponse"
}
},
"getQueryHistoryResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/QueryHistoryResponse"
}
},
"getQueryHistorySearchResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/QueryHistorySearchResponse"
}
},
"getQuotaResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/QuotaDTO"
}
}
},
"getReportResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Report"
}
},
"getReportSettingsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/ReportSettings"
}
},
"getReportsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Report"
}
}
},
"getResourcePermissionsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/resourcePermissionDTO"
}
}
},
"getRoleAssignmentsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/RoleAssignmentsDTO"
}
},
"getRoleResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/RoleDTO"
}
},
"getSSOSettingsResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"provider": {
"type": "string"
},
"settings": {
"type": "object",
"additionalProperties": {}
},
"source": {
"type": "string"
}
}
}
},
"getSharingOptionsResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"externalEnabled": {
"type": "boolean"
},
"externalSnapshotName": {
"type": "string"
},
"externalSnapshotURL": {
"type": "string"
}
}
}
},
"getSignedInUserOrgListResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserOrgDTO"
}
}
},
"getSignedInUserTeamListResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TeamDTO"
}
}
},
"getSnapshotResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/GetSnapshotResponseDTO"
}
},
"getStatusResponse": {
"description": ""
},
"getSyncStatusResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/ActiveSyncStatusDTO"
}
},
"getTeamByIDResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/TeamDTO"
}
},
"getTeamGroupsApiResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TeamGroupDTO"
}
}
},
"getTeamMembersResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TeamMemberDTO"
}
}
},
"getUserAuthTokensResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserToken"
}
}
},
"getUserOrgListResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserOrgDTO"
}
}
},
"getUserTeamsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TeamDTO"
}
}
},
"helpFlagResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"helpFlags1": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
}
}
}
},
"importDashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/ImportDashboardResponse"
}
},
"internalServerError": {
"description": "InternalServerError is a general error indicating something went wrong internally.",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"internalServerPublicError": {
"description": "InternalServerPublicError is a general error indicating something went wrong internally.",
"schema": {
"$ref": "#/definitions/publicError"
}
},
"jwksResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"keys": {
"type": "array",
"items": {
"$ref": "#/definitions/JSONWebKey"
}
}
}
}
},
"listBuiltinRolesResponse": {
"description": "",
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/definitions/RoleDTO"
}
}
}
},
"listPublicDashboardsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PublicDashboardListResponseWithPagination"
}
},
"listRecordingRulesResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/RecordingRuleJSON"
}
}
},
"listRolesResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/RoleDTO"
}
}
},
"listSSOSettingsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"provider": {
"type": "string"
},
"settings": {
"type": "object",
"additionalProperties": {}
},
"source": {
"type": "string"
}
}
}
}
},
"listSortOptionsResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"meta": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"listTeamsRolesResponse": {
"description": "",
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/definitions/RoleDTO"
}
}
}
},
"listTokensResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TokenDTO"
}
}
},
"listUsersRolesResponse": {
"description": "",
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/definitions/RoleDTO"
}
}
}
},
"noContentResponse": {
"description": "",
"schema": {
"type": "object"
}
},
"notFoundError": {
"description": "NotFoundError is returned when the requested resource was not found.",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"notFoundPublicError": {
"description": "NotFoundPublicError is returned when the requested resource was not found.",
"schema": {
"$ref": "#/definitions/publicError"
}
},
"okResponse": {
"description": "An OKResponse is returned if the request was successful.",
"schema": {
"$ref": "#/definitions/SuccessResponseBody"
}
},
"postAPIkeyResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/NewApiKeyResult"
}
},
"postAnnotationResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"id",
"message"
],
"properties": {
"id": {
"description": "ID Identifier of the created annotation.",
"type": "integer",
"format": "int64",
"example": 65
},
"message": {
"description": "Message Message of the created annotation.",
"type": "string"
}
}
}
},
"postDashboardResponse": {
"description": "",
"schema": {
"type": "object",
"required": [
"status",
"title",
"version",
"id",
"uid",
"url"
],
"properties": {
"folderUid": {
"description": "FolderUID The unique identifier (uid) of the folder the dashboard belongs to.",
"type": "string"
},
"id": {
"description": "ID The unique identifier (id) of the created/updated dashboard.",
"type": "integer",
"format": "int64",
"example": 1
},
"status": {
"description": "Status status of the response.",
"type": "string",
"example": "success"
},
"title": {
"description": "Slug The slug of the dashboard.",
"type": "string",
"example": "my-dashboard"
},
"uid": {
"description": "UID The unique identifier (uid) of the created/updated dashboard.",
"type": "string",
"example": "nHz3SXiiz"
},
"url": {
"description": "URL The relative URL for accessing the created/updated dashboard.",
"type": "string",
"example": "/d/nHz3SXiiz/my-dashboard"
},
"version": {
"description": "Version The version of the dashboard.",
"type": "integer",
"format": "int64",
"example": 2
}
}
}
},
"postRenewLicenseTokenResponse": {
"description": ""
},
"preconditionFailedError": {
"description": "PreconditionFailedError",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"publicErrorResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/publicError"
}
},
"queryMetricsWithExpressionsRespons": {
"description": "",
"schema": {
"$ref": "#/definitions/QueryDataResponse"
}
},
"queryPublicDashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/QueryDataResponse"
}
},
"recordingRuleResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/RecordingRuleJSON"
}
},
"recordingRuleWriteTargetResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PrometheusRemoteWriteTargetJSON"
}
},
"refreshLicenseStatsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/ActiveUserStats"
}
},
"resourcePermissionsDescription": {
"description": "",
"schema": {
"$ref": "#/definitions/Description"
}
},
"retrieveServiceAccountResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/ServiceAccountDTO"
}
},
"searchDashboardSnapshotsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DashboardSnapshotDTO"
}
}
},
"searchOrgServiceAccountsWithPagingResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SearchOrgServiceAccountsResult"
}
},
"searchOrgUsersResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SearchOrgUsersQueryResult"
}
},
"searchOrgsResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/OrgDTO"
}
}
},
"searchPlaylistsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/Playlists"
}
},
"searchResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/HitList"
}
},
"searchResultResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SearchResult"
}
},
"searchTeamsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SearchTeamQueryResult"
}
},
"searchUsersResponse": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserSearchHitDTO"
}
}
},
"searchUsersWithPagingResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SearchUserQueryResult"
}
},
"setRoleAssignmentsResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/RoleAssignmentsDTO"
}
},
"snapshotListResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/SnapshotListResponseDTO"
}
},
"unauthorisedError": {
"description": "UnauthorizedError is returned when the request is not authenticated.",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"unauthorisedPublicError": {
"description": "UnauthorisedPublicError is returned when the request is not authenticated.",
"schema": {
"$ref": "#/definitions/publicError"
}
},
"unprocessableEntityError": {
"description": "UnprocessableEntityError",
"schema": {
"$ref": "#/definitions/ErrorResponseBody"
}
},
"updateCorrelationResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/UpdateCorrelationResponseBody"
}
},
"updatePlaylistResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PlaylistDTO"
}
},
"updatePublicDashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/PublicDashboard"
}
},
"updateServiceAccountResponse": {
"description": "",
"schema": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"message": {
"type": "string"
},
"name": {
"type": "string"
},
"serviceaccount": {
"$ref": "#/definitions/ServiceAccountProfileDTO"
}
}
}
},
"userResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/UserProfileDTO"
}
},
"viewPublicDashboardResponse": {
"description": "",
"schema": {
"$ref": "#/definitions/DashboardFullWithMeta"
}
}
},
"securityDefinitions": {
"api_key": {
"type": "apiKey",
"name": "Authorization",
"in": "header"
},
"basic": {
"type": "basic"
}
},
"security": [
{
"basic": []
},
{
"api_key": []
}
],
"tags": [
{
"description": "If you are running Grafana Enterprise and have Fine-grained access control enabled, for some endpoints you would need to have relevant permissions. Refer to specific resources to understand what permissions are required.",
"name": "datasources"
},
{
"description": "Folders are identified by the identifier (id) and the unique identifier (uid).\nThe identifier (id) of a folder is an auto-incrementing numeric value and is only unique per Grafana install.\nThe unique identifier (uid) of a folder can be used for uniquely identify folders between multiple Grafana installs. Its automatically generated if not provided when creating a folder. The uid allows having consistent URLs for accessing folders and when syncing folders between multiple Grafana installs. This means that changing the title of a folder will not break any bookmarked links to that folder.\nThe uid can have a maximum length of 40 characters.",
"name": "folders"
},
{
"description": "Permissions with `folderId=-1` are the default permissions for users with the Viewer and Editor roles. Permissions can be set for a user, a team or a role (Viewer or Editor). Permissions cannot be set for Admins - they always have access to everything.",
"name": "folder_permissions"
},
{
"description": "The Admin HTTP API does not currently work with an API Token. API Tokens are currently only linked to an organization and an organization role. They cannot be given the permission of server admin, only users can be given that permission. So in order to use these API calls you will have to use Basic Auth and the Grafana user must have the Grafana Admin permission. (The default admin user is called admin and has permission to use this API.)",
"name": "admin"
},
{
"description": "You can use the Alerting API to get information about legacy dashboard alerts and their states but this API cannot be used to modify the alert. To create new alerts or modify them you need to update the dashboard JSON that contains the alerts.\nThis topic is relevant for the legacy dashboard alerts only.\nYou can find Grafana 8 alerts API specification details [here](https://editor.swagger.io/?url=https://raw.githubusercontent.com/grafana/grafana/main/pkg/services/ngalert/api/tooling/post.json).",
"name": "legacy_alerts"
},
{
"description": "The identifier (id) of a notification channel is an auto-incrementing numeric value and is only unique per Grafana install.\nThe unique identifier (uid) of a notification channel can be used for uniquely identify a notification channel between multiple Grafana installs. Its automatically generated if not provided when creating a notification channel. The uid allows having consistent URLs for accessing notification channels and when syncing notification channels between multiple Grafana installations, refer to alert notification channel provisioning.\nThe uid can have a maximum length of 40 characters.",
"name": "legacy_alerts_notification_channels"
},
{
"description": "Grafana Annotations feature released in Grafana 4.6. Annotations are saved in the Grafana database (sqlite, mysql or postgres). Annotations can be organization annotations that can be shown on any dashboard by configuring an annotation data source - they are filtered by tags. Or they can be tied to a panel on a dashboard and are then only shown on that panel.",
"name": "annotations"
},
{
"description": "The identifier (ID) of a library element is an auto-incrementing numeric value that is unique per Grafana install.\nThe unique identifier (UID) of a library element uniquely identifies library elements between multiple Grafana installs. Its automatically generated unless you specify it during library element creation. The UID provides consistent URLs for accessing library elements and when syncing library elements between multiple Grafana installs.\nThe maximum length of a UID is 40 characters.",
"name": "library_elements"
},
{
"description": "The identifier (ID) of a query in query history is an auto-incrementing numeric value that is unique per Grafana install.\nThe unique identifier (UID) of a query history uniquely identifies queries in query history between multiple Grafana installs. Its automatically generated. The UID provides consistent URLs for accessing queries in query history.",
"name": "query_history"
},
{
"description": "The Admin Organizations HTTP API does not currently work with an API Token. API Tokens are currently only linked to an organization and an organization role. They cannot be given the permission of server admin, only users can be given that permission. So in order to use these API calls you will have to use Basic Auth and the Grafana user must have the Grafana Admin permission (The default admin user is called `admin` and has permission to use this API).",
"name": "orgs"
},
{
"description": "If you are running Grafana Enterprise and have Fine-grained access control enabled, for some endpoints you would need to have relevant permissions. Refer to specific resources to understand what permissions are required.",
"name": "org"
},
{
"description": "This API can be used to create/update/delete Teams and to add/remove users to Teams. All actions require that the user has the Admin role for the organization.",
"name": "teams"
},
{
"description": "This API can be used to enable, disable, list, add and remove permissions for a data source.\nPermissions can be set for a user or a team. Permissions cannot be set for Admins - they always have access to everything.\nThis is only available in Grafana Enterprise\nIf you are running Grafana Enterprise and have Fine-grained access control enabled, for some endpoints you would need to have relevant permissions. Refer to specific resources to understand what permissions are required.",
"name": "datasource_permissions"
},
{
"description": "These are only available in Grafana Enterprise",
"name": "enterprise"
},
{
"description": "The API can be used to create, update, get and list roles, and create or remove built-in role assignments. To use the API, you would need to enable fine-grained access control.\nThis only available in Grafana Enterprise.\nThe API does not currently work with an API Token. So in order to use these API endpoints you will have to use Basic auth.",
"name": "access_control"
},
{
"description": "Licensing is only available in Grafana Enterprise. Read more about Grafana Enterprise.\nIf you are running Grafana Enterprise and have Fine-grained access control enabled, for some endpoints you would need to have relevant permissions. Refer to specific resources to understand what permissions are required.",
"name": "licensing"
},
{
"description": "This API allows you to interact programmatically with the Reporting feature.\nReporting is only available in Grafana Enterprise. Read more about Grafana Enterprise.\nIf you have Fine-grained access Control enabled, for some endpoints you would need to have relevant permissions. Refer to specific resources to understand what permissions are required.",
"name": "reports"
},
{
"description": "Grafana Alerting Alertmanager-compatible endpoints",
"name": "alertmanager"
},
{
"description": "Grafana Alerting endpoints for managing rules",
"name": "ruler"
},
{
"description": "Grafana Alerting testing endpoints",
"name": "testing"
},
{
"description": "Grafana Alerting Prometheus-compatible endpoints",
"name": "prometheus"
},
{
"description": "If you are running Grafana Enterprise, for some endpoints you'll need to have specific permissions. Refer to [Role-based access control permissions](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/) for more information.",
"name": "service_accounts"
}
]
}