---
title: "Set resource permissions for a built-in role."
method: POST
path: "/access-control/{resource}/{resourceID}/builtInRoles/{builtInRole}"
tags: ["access_control"]
---

# Set resource permissions for a built-in role.

`POST /access-control/{resource}/{resourceID}/builtInRoles/{builtInRole}`

## Request

- Base URL: `/api` (relative, and the document’s source URL is not known)
- URL: `/api/access-control/{resource}/{resourceID}/builtInRoles/{builtInRole}`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`

Assigns permissions for a resource by a given type (`:resource`) and `:resourceID` to a built-in role.
Allowed resources are `datasources`, `teams`, `dashboards`, `folders`, and `serviceaccounts`.
Refer to the `/access-control/{resource}/description` endpoint for allowed Permissions.

## Path parameters

- `resource` string, required
- `resourceID` string, required
- `builtInRole` string, required

## Request body

- SetPermissionCommand
  - `permission` string

## Response `200`

An OKResponse is returned if the request was successful.

- SuccessResponseBody
  - `message` string

## Other responses

- `400`: BadRequestError is returned when the request is invalid and it cannot be processed.
- `403`: ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.
- `404`: NotFoundError is returned when the requested resource was not found.
- `500`: InternalServerError is a general error indicating something went wrong internally.

---

[API](https://skmtc.dev/grafana/apis/grafana-http-api.md) - [All operations](https://skmtc.dev/grafana/apis/grafana-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grafana/apis/grafana-http-api/revisions/df55ba1718ba?raw)
