Grafana Restore API

The Restore API from Grafana — 1 operation(s) for restore.

OpenAPI Specification

grafana-restore-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Grafana HTTP Access Restore 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: Restore
paths:
  /dashboards/uid/{uid}/restore:
    parameters: []
    post:
      tags:
      - Restore
      summary: Grafana Restore Dashboard Version By UID
      description: This API operation restores a specific version of a Grafana dashboard identified by its unique identifier (UID). When invoked via a POST request to the endpoint /dashboards/uid/{uid}/restore, it allows users to revert a dashboard to a previous state by specifying the desired version number in the request body. This is particularly useful for recovering from unwanted changes, comparing different dashboard iterations, or rolling back to a known working configuration. The operation requires appropriate permissions and returns the restored dashboard's metadata upon successful execution.
      operationId: restoreDashboardVersionByUID
      parameters:
      - name: uid
        in: path
        description: ''
        required: true
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestoreDashboardVersionCommand'
        required: true
      responses:
        '200':
          description: (empty)
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/postDashboardResponse'
        '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'
        '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.'
    postDashboardResponse:
      title: postDashboardResponse
      required:
      - id
      - status
      - title
      - uid
      - url
      - version
      type: object
      properties:
        folderUid:
          type: string
          description: FolderUID The unique identifier (uid) of the folder the dashboard belongs to.
        id:
          type: integer
          description: ID The unique identifier (id) of the created/updated dashboard.
          contentEncoding: int64
          examples:
          - 1
        status:
          type: string
          description: Status status of the response.
          examples:
          - success
        title:
          type: string
          description: Slug The slug of the dashboard.
          examples:
          - my-dashboard
        uid:
          type: string
          description: UID The unique identifier (uid) of the created/updated dashboard.
          examples:
          - nHz3SXiiz
        url:
          type: string
          description: URL The relative URL for accessing the created/updated dashboard.
          examples:
          - /d/nHz3SXiiz/my-dashboard
        version:
          type: integer
          description: Version The version of the dashboard.
          contentEncoding: int64
          examples:
          - 2
    RestoreDashboardVersionCommand:
      title: RestoreDashboardVersionCommand
      type: object
      properties:
        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>'