mirror of https://github.com/grafana/grafana
parent
b5e96f5ec2
commit
7d89f19f6f
@ -0,0 +1,149 @@ |
|||||||
|
+++ |
||||||
|
title = "Folder Permissions HTTP API " |
||||||
|
description = "Grafana Folder Permissions HTTP API" |
||||||
|
keywords = ["grafana", "http", "documentation", "api", "folder", "permission", "permissions", "acl"] |
||||||
|
aliases = ["/http_api/dashboardpermissions/"] |
||||||
|
type = "docs" |
||||||
|
[menu.docs] |
||||||
|
name = "Folder Permissions" |
||||||
|
parent = "http_api" |
||||||
|
+++ |
||||||
|
|
||||||
|
# Folder Permissions API |
||||||
|
|
||||||
|
This API can be used to update/get the permissions for a folder. |
||||||
|
|
||||||
|
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. |
||||||
|
|
||||||
|
The permission levels for the permission field: |
||||||
|
|
||||||
|
- 1 = View |
||||||
|
- 2 = Edit |
||||||
|
- 4 = Admin |
||||||
|
|
||||||
|
## Get permissions for a folder |
||||||
|
|
||||||
|
`GET /api/folders/:uid/permissions` |
||||||
|
|
||||||
|
Gets all existing permissions for the folder with the given `uid`. |
||||||
|
|
||||||
|
**Example request**: |
||||||
|
|
||||||
|
```http |
||||||
|
GET /api/folders/nErXDvCkzz/permissions HTTP/1.1 |
||||||
|
Accept: application/json |
||||||
|
Content-Type: application/json |
||||||
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk |
||||||
|
``` |
||||||
|
|
||||||
|
**Example Response** |
||||||
|
|
||||||
|
```http |
||||||
|
HTTP/1.1 200 OK |
||||||
|
Content-Type: application/json; charset=UTF-8 |
||||||
|
Content-Length: 551 |
||||||
|
|
||||||
|
[ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"folderId": -1, |
||||||
|
"created": "2017-06-20T02:00:00+02:00", |
||||||
|
"updated": "2017-06-20T02:00:00+02:00", |
||||||
|
"userId": 0, |
||||||
|
"userLogin": "", |
||||||
|
"userEmail": "", |
||||||
|
"teamId": 0, |
||||||
|
"team": "", |
||||||
|
"role": "Viewer", |
||||||
|
"permission": 1, |
||||||
|
"permissionName": "View", |
||||||
|
"uid": "nErXDvCkzz", |
||||||
|
"title": "", |
||||||
|
"slug": "", |
||||||
|
"isFolder": false, |
||||||
|
"url": "" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"dashboardId": -1, |
||||||
|
"created": "2017-06-20T02:00:00+02:00", |
||||||
|
"updated": "2017-06-20T02:00:00+02:00", |
||||||
|
"userId": 0, |
||||||
|
"userLogin": "", |
||||||
|
"userEmail": "", |
||||||
|
"teamId": 0, |
||||||
|
"team": "", |
||||||
|
"role": "Editor", |
||||||
|
"permission": 2, |
||||||
|
"permissionName": "Edit", |
||||||
|
"uid": "", |
||||||
|
"title": "", |
||||||
|
"slug": "", |
||||||
|
"isFolder": false, |
||||||
|
"url": "" |
||||||
|
} |
||||||
|
] |
||||||
|
``` |
||||||
|
|
||||||
|
Status Codes: |
||||||
|
|
||||||
|
- **200** - Ok |
||||||
|
- **401** - Unauthorized |
||||||
|
- **403** - Access denied |
||||||
|
- **404** - Folder not found |
||||||
|
|
||||||
|
## Update permissions for a folder |
||||||
|
|
||||||
|
`POST /api/folders/:uid/permissions` |
||||||
|
|
||||||
|
Updates permissions for a folder. This operation will remove existing permissions if they're not included in the request. |
||||||
|
|
||||||
|
**Example request**: |
||||||
|
|
||||||
|
```http |
||||||
|
POST /api/folders/nErXDvCkzz/permissions |
||||||
|
Accept: application/json |
||||||
|
Content-Type: application/json |
||||||
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk |
||||||
|
|
||||||
|
"items": [ |
||||||
|
{ |
||||||
|
"role": "Viewer", |
||||||
|
"permission": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"role": "Editor", |
||||||
|
"permission": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"teamId": 1, |
||||||
|
"permission": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"userId": 11, |
||||||
|
"permission": 4 |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
JSON body schema: |
||||||
|
|
||||||
|
- **items** - The permission items to add/update. Items that are omitted from the list will be removed. |
||||||
|
|
||||||
|
**Example response**: |
||||||
|
|
||||||
|
```http |
||||||
|
HTTP/1.1 200 OK |
||||||
|
Content-Type: application/json; charset=UTF-8 |
||||||
|
Content-Length: 35 |
||||||
|
|
||||||
|
{"message":"Folder permissions updated"} |
||||||
|
``` |
||||||
|
|
||||||
|
Status Codes: |
||||||
|
|
||||||
|
- **200** - Ok |
||||||
|
- **401** - Unauthorized |
||||||
|
- **403** - Access denied |
||||||
|
- **404** - Dashboard not found |
Loading…
Reference in new issue