Grafana Move API

The Move API from Grafana — 1 operation(s) for move.

OpenAPI Specification

grafana-move-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Grafana HTTP Access Move API
  description: The Grafana HTTP API provides programmatic access to Grafana's core functionality including dashboards, data sources, alerts, users, organizations, folders, annotations, and teams. Authentication is handled via API keys, basic auth, or OAuth tokens passed in the Authorization header.
  version: 11.0.0
  contact:
    name: Grafana Labs
    url: https://grafana.com
  license:
    name: AGPL-3.0
    url: https://www.gnu.org/licenses/agpl-3.0.html
servers:
- url: https://{instance}.grafana.net/api
  description: Grafana Cloud
  variables:
    instance:
      default: your-instance
- url: http://localhost:3000/api
  description: Local Grafana instance
security:
- BearerAuth: []
- BasicAuth: []
- ApiKeyAuth: []
tags:
- name: Move
paths:
  /folders/{folder_uid}/move:
    parameters: []
    post:
      tags:
      - Move
      summary: Grafana Move Folder
      description: This API operation moves a Grafana folder identified by its unique identifier (folder_uid) to a new location within the folder hierarchy. It uses a POST request to the /folders/{folder_uid}/move endpoint and allows administrators to reorganize their Grafana folder structure by changing a folder's parent or position. The operation requires the folder_uid path parameter to specify which folder to move, and typically accepts a request body containing the destination folder information or new parent folder identifier. This is useful for maintaining an organized dashboard structure as teams grow and reorganization becomes necessary.
      operationId: moveFolder
      parameters:
      - name: folder_uid
        in: path
        description: ''
        required: true
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveFolderCommand'
        required: true
      responses:
        '200':
          description: (empty)
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        '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
components:
  schemas:
    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.'
    MoveFolderCommand:
      title: MoveFolderCommand
      type: object
      properties:
        parentUid:
          type: string
      description: 'MoveFolderCommand captures the information required by the folder service

        to move a folder.'
    Folder:
      title: Folder
      type: object
      properties:
        accessControl:
          type: object
          additionalProperties:
            type: boolean
          description: 'Metadata contains user accesses for a given resource

            Ex: map[string]bool{"create":true, "delete": true}'
        canAdmin:
          type: boolean
        canDelete:
          type: boolean
        canEdit:
          type: boolean
        canSave:
          type: boolean
        created:
          type: string
          contentEncoding: date-time
        createdBy:
          type: string
        hasAcl:
          type: boolean
        id:
          type: integer
          description: 'Deprecated: use UID instead'
          contentEncoding: int64
        managedBy:
          type: string
          description: 'It can be a user or a tool or a generic API client.

            +enum'
        orgId:
          type: integer
          contentEncoding: int64
        parentUid:
          type: string
          description: only used if nested folders are enabled
        parents:
          type: array
          items:
            $ref: '#/components/schemas/Folder'
          description: the parent folders starting from the root going down
        title:
          type: string
        uid:
          type: string
        updated:
          type: string
          contentEncoding: date-time
        updatedBy:
          type: string
        url:
          type: string
        version:
          type: integer
          contentEncoding: int64
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Service account token or API key
    BasicAuth:
      type: http
      scheme: basic
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Format: Bearer <api-key>'