Grafana Update API

The Update API from Grafana — 36 operation(s) for update.

Operations 4

PUT /orgs/{org_id} Grafana Update Org #
PATCH /orgs/{org_id}/users/{user_id} Grafana Update Org User #
PUT /playlists/{uid} Grafana Update Playlist #
PUT /users/{user_id} Grafana Update User #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/grafana-update-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

grafana-update-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Grafana Update API
  description: 'Grafana is an open-source analytics and visualization platform that helps you monitor and analyze data from various sources. It lets you create customizable dashboards with charts, graphs, and alerts to visualize metrics and logs in real-time. Commonly used for monitoring infrastructure, applications, and business metrics, Grafana connects to dozens of data sources like Prometheus, Elasticsearch, and cloud platforms, making it easier to understand system performance, troubleshoot issues, and track key indicators all in one place. '
  contact:
    name: Grafana Labs
    url: https://grafana.com
    email: hello@grafana.com
  version: 0.0.1
servers:
- url: http://{defaultHost}
  variables:
    defaultHost:
      default: www.example.com/api
- url: https://{defaultHost}
  variables:
    defaultHost:
      default: www.example.com/api
security:
- basic: []
- api_key: []
tags:
- name: Update
paths:
  /orgs/{org_id}:
    parameters: []
    put:
      tags:
      - Update
      summary: Grafana Update Org
      description: Updates an existing organization in Grafana by specifying the organization ID in the URL path. This PUT operation allows administrators to modify organization properties such as the organization name. The request requires authentication and appropriate permissions to manage organizations. When successful, it returns the updated organization details including its ID, name, and address information. This endpoint is typically used by Grafana administrators who need to change organization metadata or correct organizational information in a Grafana instance.
      operationId: updateOrg
      parameters:
      - name: org_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          contentEncoding: int64
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrgForm'
        required: true
      responses:
        '200':
          description: An OKResponse is returned if the request was successful.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponseBody'
        '400':
          description: BadRequestError is returned when the request is invalid and it cannot be processed.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '401':
          description: UnauthorizedError is returned when the request is not authenticated.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '403':
          description: ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '500':
          description: InternalServerError is a general error indicating something went wrong internally.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
      deprecated: false
      security:
      - basic: []
      x-api-evangelist-processing:
        SplitPascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        WriteDescription: true
        ChooseTags: true
  /orgs/{org_id}/users/{user_id}:
    parameters: []
    patch:
      tags:
      - Update
      summary: Grafana Update Org User
      description: This API operation updates an existing user's role within a specific organization in Grafana. It uses a PATCH request to the endpoint /orgs/{org_id}/users/{user_id}, where org_id identifies the target organization and user_id specifies which user's permissions should be modified. The operation allows administrators to change a user's role (such as Viewer, Editor, or Admin) within the organization context, enabling granular control over user permissions and access levels across different Grafana organizations.
      operationId: updateOrgUser
      parameters:
      - name: org_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          contentEncoding: int64
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          contentEncoding: int64
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrgUserCommand'
        required: true
      responses:
        '200':
          description: An OKResponse is returned if the request was successful.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponseBody'
        '400':
          description: BadRequestError is returned when the request is invalid and it cannot be processed.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '401':
          description: UnauthorizedError is returned when the request is not authenticated.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '403':
          description: ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '500':
          description: InternalServerError is a general error indicating something went wrong internally.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
      deprecated: false
      x-api-evangelist-processing:
        SplitPascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        WriteDescription: true
        ChooseTags: true
  /playlists/{uid}:
    parameters: []
    put:
      tags:
      - Update
      summary: Grafana Update Playlist
      description: Updates an existing playlist in Grafana identified by its unique identifier (UID). This operation allows you to modify playlist properties such as name, interval between dashboards, and the list of dashboards included in the playlist. You must provide the complete updated playlist configuration in the request body, and appropriate permissions are required to modify the playlist. The endpoint returns the updated playlist object upon successful execution, making it useful for programmatically managing and automating playlist configurations in Grafana dashboards.
      operationId: updatePlaylist
      parameters:
      - name: uid
        in: path
        description: ''
        required: true
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlaylistCommand'
        required: true
      responses:
        '200':
          description: (empty)
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaylistDTO'
        '401':
          description: UnauthorizedError is returned when the request is not authenticated.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '403':
          description: ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '404':
          description: NotFoundError is returned when the requested resource was not found.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '500':
          description: InternalServerError is a general error indicating something went wrong internally.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
      deprecated: false
      x-api-evangelist-processing:
        SplitPascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        WriteDescription: true
        ChooseTags: true
  /users/{user_id}:
    parameters: []
    put:
      tags:
      - Update
      summary: Grafana Update User
      description: The PUT operation on the /users/{user_id} endpoint in Grafana allows administrators to update an existing user's account information by specifying the user's unique identifier in the URL path. This endpoint enables modification of user attributes such as email address, login username, display name, and theme preferences. The request requires appropriate administrative privileges and accepts a JSON payload containing the fields to be updated. Upon successful execution, the API returns the updated user object with all current values, while validation errors or permission issues will result in appropriate error responses. This operation is commonly used for user management tasks like correcting user details, updating contact information, or adjusting user preferences programmatically.
      operationId: updateUser
      parameters:
      - name: user_id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          contentEncoding: int64
      requestBody:
        description: To change the email, name, login, theme, provide another one.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/UpdateUserCommand'
              - description: To change the email, name, login, theme, provide another one.
              contentMediaType: application/json
        required: true
      responses:
        '200':
          description: An OKResponse is returned if the request was successful.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponseBody'
        '401':
          description: UnauthorizedError is returned when the request is not authenticated.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '403':
          description: ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '404':
          description: NotFoundError is returned when the requested resource was not found.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '409':
          description: ConflictError
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
        '500':
          description: InternalServerError is a general error indicating something went wrong internally.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
      deprecated: false
      x-api-evangelist-processing:
        SplitPascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        WriteDescription: true
        ChooseTags: true
components:
  schemas:
    Role:
      title: Role
      enum:
      - None
      - Viewer
      - Editor
      - Admin
      type: string
    UpdatePlaylistCommand:
      title: UpdatePlaylistCommand
      type: object
      properties:
        interval:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlaylistItem'
          description: ''
        name:
          type: string
        uid:
          type: string
    UpdateOrgUserCommand:
      title: UpdateOrgUserCommand
      type: object
      properties:
        role:
          $ref: '#/components/schemas/Role'
    PlaylistItem:
      title: PlaylistItem
      type: object
      properties:
        Id:
          type: integer
          contentEncoding: int64
        PlaylistId:
          type: integer
          contentEncoding: int64
        order:
          type: integer
          contentEncoding: int64
        title:
          type: string
        type:
          type: string
        value:
          type: string
    UpdateOrgForm:
      title: UpdateOrgForm
      type: object
      properties:
        name:
          type: string
    PlaylistItemDTO:
      title: PlaylistItemDTO
      type: object
      properties:
        title:
          type: string
          description: Title is an unused property -- it will be removed in the future
        type:
          type: string
          description: Type of the item.
        value:
          type: string
          description: 'Value depends on type and describes the playlist item.


            dashboard_by_id: The value is an internal numerical identifier set by Grafana. This

            is not portable as the numerical identifier is non-deterministic between different instances.

            Will be replaced by dashboard_by_uid in the future. (deprecated)

            dashboard_by_tag: The value is a tag which is set on any number of dashboards. All

            dashboards behind the tag will be added to the playlist.

            dashboard_by_uid: The value is the dashboard UID'
    ErrorResponseBody:
      title: ErrorResponseBody
      required:
      - message
      type: object
      properties:
        error:
          type: string
          description: Error An optional detailed description of the actual error. Only included if running in developer mode.
        message:
          type: string
          description: a human readable version of the error
        status:
          type: string
          description: 'Status An optional status to denote the cause of the error.


            For example, a 412 Precondition Failed error may include additional information of why that error happened.'
    UpdateUserCommand:
      title: UpdateUserCommand
      type: object
      properties:
        email:
          type: string
        login:
          type: string
        name:
          type: string
        theme:
          type: string
    PlaylistDTO:
      title: PlaylistDTO
      type: object
      properties:
        interval:
          type: string
          description: Interval sets the time between switching views in a playlist.
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlaylistItemDTO'
          description: The ordered list of items that the playlist will iterate over.
        name:
          type: string
          description: Name of the playlist.
        uid:
          type: string
          description: 'Unique playlist identifier. Generated on creation, either by the

            creator of the playlist of by the application.'
    SuccessResponseBody:
      title: SuccessResponseBody
      type: object
      properties:
        message:
          type: string
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header
    basic:
      type: http
      scheme: basic