* Use relative aliases for all non-current Grafana aliases Prevents non-latest documentation "stealing" the page away from latest and through permanent redirects for latest pages that no longer exist. The redirected pages are indexed by search engines but our robots.txt forbids them crawling the non-latest page. Signed-off-by: Jack Baldry <jack.baldry@grafana.com> * Remove aliases from shared pages Signed-off-by: Jack Baldry <jack.baldry@grafana.com> * Rewrite all current latest aliases to be next Signed-off-by: Jack Baldry <jack.baldry@grafana.com> * Fix typo in latest alias Signed-off-by: Jack Baldry <jack.baldry@grafana.com> * Remove all current page aliases find docs/sources -type f -name '*.md' -exec sed -z -i 's#\n *- /docs/grafana/next/[^\n]*\n#\n#' {} \; find docs/sources -type f -name '*.md' -exec sed -Ez -i 's#\n((aliases:\n *-)|aliases:\n)#\n\2#' {} \; Signed-off-by: Jack Baldry <jack.baldry@grafana.com> * Prettier Signed-off-by: Jack Baldry <jack.baldry@grafana.com> Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
3.0 KiB
aliases | description | keywords | title | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Grafana External Group Sync HTTP API |
|
External Group Sync HTTP API |
External Group Synchronization API
External Group Synchronization is only available in Grafana Enterprise. Read more about [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
If you are running Grafana Enterprise, for some endpoints you'll need to have specific permissions. Refer to [Role-based access control permissions]({{< relref "../../administration/roles-and-permissions/access-control/custom-role-actions-scopes/" >}}) for more information.
Get External Groups
GET /api/teams/:teamId/groups
Required permissions
See note in the [introduction]({{< ref "#external-group-synchronization-api" >}}) for an explanation.
Action | Scope |
---|---|
teams.permissions:read | teams:* |
Example Request:
GET /api/teams/1/groups HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
Example Response:
HTTP/1.1 200
Content-Type: application/json
[
{
"orgId": 1,
"teamId": 1,
"groupId": "cn=editors,ou=groups,dc=grafana,dc=org"
}
]
Status Codes:
- 200 - Ok
- 401 - Unauthorized
- 403 - Permission denied
Add External Group
POST /api/teams/:teamId/groups
Required permissions
See note in the [introduction]({{< ref "#external-group-synchronization-api" >}}) for an explanation.
Action | Scope |
---|---|
teams.permissions:write | teams:* |
Example Request:
POST /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
{
"groupId": "cn=editors,ou=groups,dc=grafana,dc=org"
}
Example Response:
HTTP/1.1 200
Content-Type: application/json
{"message":"Group added to Team"}
Status Codes:
- 200 - Ok
- 400 - Group is already added to this team
- 401 - Unauthorized
- 403 - Permission denied
- 404 - Team not found
Remove External Group
DELETE /api/teams/:teamId/groups/:groupId
Required permissions
See note in the [introduction]({{< ref "#external-group-synchronization-api" >}}) for an explanation.
Action | Scope |
---|---|
teams.permissions:write | teams:* |
Example Request:
DELETE /api/teams/1/groups/cn=editors,ou=groups,dc=grafana,dc=org HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
Example Response:
HTTP/1.1 200
Content-Type: application/json
{"message":"Team Group removed"}
Status Codes:
- 200 - Ok
- 401 - Unauthorized
- 403 - Permission denied
- 404 - Team not found/Group not found